-
Notifications
You must be signed in to change notification settings - Fork 163
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
JSON-LD 1.1 support #3654
Comments
jsonld-java also does not have canonization (URDNA2015) jsonld-java/jsonld-java#249, which is important for crypto signing apps. Titanium has it (as an extension): https://github.com/filip26/titanium-json-ld#extensions kbss-cvut/jb4jsonld#37 also considers switching to titanium. |
I haven't had any bandwidth to support JSONLD-Java and the 1.1 features have not been added, so no qualms with switching to a library that has 1.1 features implemented. |
Would it be an option to be somewhat able to switch between both ? |
@barthanssens That's an option, as soon as the pros and cons of each alternative are clearly described. On the topic of Parser performance (direction JSONLD->RDF):
Streaming may improve performance by significantly reducing required memory
|
Jena has integrated Titanium to a large degree: https://issues.apache.org/jira/browse/JENA-1948.
Update on https://github.com/umbreak/jsonld-benchmarks (great news!):
|
json-ld/yaml-ld#20 (comment) has some info on JSON-LD 1.1 conformance, including a summary table. Conformance leaders: Titanium (Java), JSON::LD (Ruby), PyLD (Python), jsonld.js (JavaScript) |
We need some request headers (or criteria) to decide when fetching JSON-LD data from the repo:
This goes beyond jsonld 1.1 support and back to 1.0 support:
|
It looks like after latest improvements in Titanium (v. 1.3.2) the Json-LD Java implementation is only ~17% faster in average than Titanium. And in one test it even outperform Json-LD by 17% |
Which implementations are you comparing? And what are you comparing? |
It's the same test like in #3654 (comment) Test https://github.com/umbreak/jsonld-benchmarks but with newer Latest titanium-jsonld 1.3.2 from March 2023 and latest JSONLD-Java 0.13.4 from December 2021.
|
I'm working on contributing some performance optimisations to Titanium JSON-LD. Based on my single benchmark file with 600 000 triples I've currently managed to improve JSON-LD to RDF conversion by 3x, expanding by almost 2x and flattening by 4x. |
Impressive ! |
JSON-LD becomes more and more important, especially for Distributed Identifiers, Verifiable Credentials, IoT, etc.
Some initiatives are using JSON Schema to specify their JSONLD payload, which requires the ability to produce (write out) very precise JSONLD.
An examination of "JSON-LD" issues here shows a number if stalled issues and some bugs.
Some of them are due to this project (eg unable to specify context while writing/compacting), others are due to the underlying
jsonld-java
.In particular, it's unclear whether
jsonld-java
will support 1.1. Two crucial 1.1 features are Framing and Scoped contexts.I find jsonld-java/jsonld-java#284 (comment) especially telling. Conformance test percentages are very low .
There's a suggestion to switch to https://github.com/filip26/titanium-json-ld. Its conformance test percentages are nearly perfect https://w3c.github.io/json-ld-api/reports/#subj_Titanium_JSON_LD_Java . A guy who seems to know stuff about JSONLD recommends it w3c/vc-data-model#843 (comment).
But a later comment states that
jsonld-java
is significantly more performant.Please comment:
titanium-jsonld
?Cc @jeenbroekstra @JervenBolleman @fsteeg @ansell
The text was updated successfully, but these errors were encountered: