Welcome to the Ripple wiki! Ripple is a functional, stack-based query language for Linked Data and other RDF data sources. Ripple programs resemble path expressions as in XPath and postfix-style procedures as in Forth. Every program has an RDF representation, so you can embed programs in the Web of Data as well as querying against it. The implementation is written in Java and includes an interactive command-line interpreter as well as a query API which interoperates with Sesame 4.1.
- Running Ripple: getting the software, using the command-line interpreter, and embedding Ripple in Java programs
- Examples
- Ripple on Linked Data
- Ripple on JSON
- The Web of Programs: publishing Ripple programs as Linked Data
- Language reference
- Libraries and primitives
- Core libraries
- control library: mappings and program flow, regular expressions, looping and branching
- data library: atomic values and datatypes, comparison, type conversion
- graph library: reading and writing RDF statements, SPARQL support, key/value objects and JSON
- logic library: boolean algebra
- math library: arithmetic, roots and exponentials, trigonometry
- stack library: list- and stack-oriented primitives inherited from Joy
- stream library: stream splitting and intersection, filters for deduplication and pruning, closed-world operations
- string library: string manipulation
- system library: system calls and network operations, other scripting languages
- Extensions
- media library: primitives for playing audio, showing images, and speaking text
- blueprints library: graph traversal on the Blueprints API
- Core libraries
- Miscellaneous
- Ripple configuration properties
- LinkedDataSail: Ripple's dynamic view of the Web of Data
- Naming conventions for Ripple programs
- creating a Ripple library
- External links
- Ripple JavaDocs
- Functional programs as Linked Data (the original paper on Ripple)
- The demo screencast from the SFSW 2007 Scripting Challenge