jelly-rdf / jelly-jvm   0.6.0

Apache License 2.0 GitHub

JVM (Scala) implementation of Jelly

Scala versions: 3.x

Jelly-JVM

License

Java Virtual Machine implementation of Jelly, an RDF streaming protocol, written in Scala 3.

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.

Development status

The libraries are in active (alpha) development and are not yet stable. Expect a first stable release in Q4 2023.

The libraries follow the semantic versioning scheme for binary compatibility.

The jelly-stream and jelly-grpc use the Apache Pekko library, which was forked recently from the popular Akka library. This is due to Akka switching to a non-free license.

Modules

  • 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

Contributing

Feel free to submit bug reports, feature proposals and pull requests! You can also contribute to the documentation in the wiki.

License

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

Authors