Implementation of Jelly, a super-fast RDF serialization format and streaming protocol, for Apache Jena, Eclipse RDF4J, and the Titanium RDF API.
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
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-stream
– utilities for building Reactive Streams of RDF data, based on Pekko Streams. Useful for integrating with for example gRPC, Kafka, MQTT... -
jelly-grpc
– implementation of a gRPC client and server for the full Jelly protocol.
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 and RDF4J just by dropping the JARs into the classpath. You can find the JARs on the releases page. More information about using the plugins.
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 was written by Piotr Sowiński (Ostrzyciel).