Skip to content

Jelly-RDF/jelly-jvm

Repository files navigation

Documentation License Scala build and test Release

Jelly-JVM

Java Virtual Machine implementation of Jelly, an RDF serialization format and gRPC streaming protocol, written in Scala 3. Jelly-JVM currently supports both Apache Jena and RDF4J.

This collection of libraries aims to provide the full stack of utilities for fast and scalable RDF streaming with the Jelly protocol. 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

Modules

Read more about each module in the documentation.

Published to Maven Central

  • jelly-core – serialization and deserialization code (using the scalapb library), along with generic utilities for converting the deserialized RDF data to/from the representations of RDF libraries (like Apache Jena or RDF4J).

    • jelly-core Scala version support javadoc
  • jelly-jena – conversions and interop code for the Apache Jena library.

    • jelly-jena Scala version support javadoc
  • jelly-rdf4j – conversions and interop code for the RDF4J library.

    • jelly-rdf4j Scala version support javadoc
  • jelly-stream – utilities for building Reactive Streams of RDF data (based on Pekko Streams). Useful for integrating with gRPC or other streaming protocols (e.g., Kafka, MQTT).

    • jelly-stream Scala version support javadoc
  • jelly-grpc – implementation of a gRPC client and server for the full Jelly protocol.

    • jelly-grpc Scala version support javadoc

Other – not published to Maven

  • 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.

Plugin JARs

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.

Contributing

Feel free to submit bug reports, feature proposals and pull requests!

Check out the contribution guide for more information.

License

The Jelly-JVM libraries are licensed under the Apache 2.0 license.

Jelly-JVM was written by Piotr Sowiński (Ostrzyciel).