Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement namespace declarations #241

Merged
merged 10 commits into from
Dec 21, 2024
Merged

Implement namespace declarations #241

merged 10 commits into from
Dec 21, 2024

Conversation

Ostrzyciel
Copy link
Member

Implementation of the new Jelly 1.1.0 feature, namespace declarations: Jelly-RDF/jelly-protobuf#12

Implemented: core API, Jena & RDF4J implementation, Jena RIOT & RDF4J Rio integrations, integration tests.

Not implemented: Pekko Streams API. This can be tackled in a separate PR.

This is implemented according to the compatibility notes in the original issue:

  • Jelly-JVM will throw an exception when it encounters an unknown row type, so we cannot pretend this is the same version as 1.0. It will also by default not parse Jelly files with versions higher than the supported one.
  • This feature is very "optional" and will have a very slight negative impact on performance, so it should be always disabled by default. When it's disabled, we can label the file as written with Jelly 1.0.
  • Because we will disable this by default, but allow parsing both Jelly 1.0 and 1.1, this will create a soft grace period for consumers to be updated to the new version of the protocol.

Done: proto classes
Done: encoders / decoders
Done: encoders (really this time)
Done: Rio/RIOT writers
Only integration-tests left now
Almost done.

Missing: stream API (maybe do it in a separate PR?) and RIOT/Rio tests with stuff like serializing a whole dataset / graph. It's hard to test this sensibly in integration-tests, because there are too many different APIs to work with...
@Ostrzyciel
Copy link
Member Author

code looks good :)

@Ostrzyciel Ostrzyciel merged commit a8a40ac into main Dec 21, 2024
4 checks passed
@Ostrzyciel Ostrzyciel deleted the namespace-decl branch December 21, 2024 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant