Implementation of Jelly, super-fast RDF and SPARQL serialization formats, for Apache Jena, Eclipse RDF4J, Titanium RDF API, and Neo4j (Neo4j only up to Jelly-JVM 3.7.x).
Jelly-JVM also implements Jelly-SPARQL, a binary format for SPARQL query results, for Jena and RDF4J.
You can use Jelly-JVM simply as a "plain old" RDF file serializer/parser, just a very fast one.
But, this library also gives you the full stack of utilities for scalable RDF streaming with Jelly in a lot of different scenarios, including networking environments. You can only use a part of the stack (e.g., only the serializer), or you may choose to use the full gRPC server and the reactive streaming utilities.
Documentation, download links, usage guide and more: https://w3id.org/jelly/jelly-jvm
- π How to use Jelly-JVM in code
- π οΈ How to use Jelly-JVM as a Jena or RDF4J plugin (zero coding!)
- π οΈ How to use Jelly-JVM with Neo4j via the neosemantics plugin (Jelly-JVM 3.7.x only)
Read more about each module in the documentation.
-
jelly-coreβ core generic code for serializing/deserializing Jelly data. You need an additional module (likejelly-jena) to integrate it with a specific RDF library. -
jelly-jenaβ interop code for the Apache Jena library. -
jelly-rdf4jβ interop code for the Eclipse RDF4J library. -
jelly-titanium-rdf-apiβ integration with the minimalistic Titanium RDF API. -
jelly-core-sparqlβ core generic code for serializing/deserializing Jelly-SPARQL data (SPARQL query results). You need an additional module (likejelly-jena-sparql) to integrate it with a specific RDF library. -
jelly-jena-sparqlβ Jelly-SPARQL for Apache Jena: result set readers and writers, and content negotiation in Fuseki. -
jelly-rdf4j-sparqlβ Jelly-SPARQL for Eclipse RDF4J: tuple and boolean query result parsers and writers. -
jelly-pekko-streamβ utilities for building Reactive Streams of RDF data, based on Pekko Streams. Useful for integrating with for example gRPC, Kafka, MQTT... -
jelly-pekko-grpcβ implementation of a gRPC client and server for the full Jelly protocol, based on Pekko Streams.
jelly-integration-testsβ integration tests for the Jelly protocol. This module is only used for development and testing purposes.jelly-examplesβ examples of using Jelly-JVM in practical scenarios.
We also publish plugin JARs which allow you to use Jelly-JVM with Apache Jena, RDF4J, and Neo4j (Jelly-JVM 3.7.x only) just by dropping the JARs into the classpath. The Jena and RDF4J plugins include Jelly-SPARQL support. You can find the JARs on the releases page. More information about using the plugins with Jena and RDF4J and with Neo4j.
Feel free to submit bug reports, feature proposals and pull requests!
Check out the contribution guide for more information.
You can also join the Jelly Discord chat to ask questions about using Jelly-JVM and to be up-to-date with the development activities.
NeverBlink provides commercial support services for Jelly, including implementing custom features, system integrations, implementations for new frameworks, benchmarking, and more.
The Jelly-JVM libraries are licensed under the Apache 2.0 license.
Jelly-JVM contributors: https://github.com/Jelly-RDF/jelly-jvm/graphs/contributors
The development of the Jelly protocol, its implementations, and supporting tooling was funded by commercial sponsors and the European Union. More details.