Skip to content

Conversation

@fsteeg
Copy link
Member

@fsteeg fsteeg commented Apr 28, 2020

As announced in #277 (comment), this PR contains the current functional changes for 1.1.

It also contains comments by @gkellogg from gkellogg@53aa216 (thanks!)

The diff on core/reports/json-ld-api-tests-skip shows the progress compared to the 1.1-tests branch (currently 94 removed lines, i.e. 94 additional passing tests). See individual commits for details on which code changes make which tests pass. Open the URLs for test details.

This is the report summary for 1.1 compliance with the current code (see 2318376):

tests pass
Compaction 101/238 (42.4%)
Expansion 124/366 (33.9%)
Flattening 45/55 (81.8%)
Framing 26/89 (29.2%)
HTML 3/49 (6.1%)
Remote document 3/18 (16.7%)
Transform JSON-LD to RDF 178/442 (40.3%)
Transform RDF to JSON-LD 39/51 (76.5%)

The base for this PR is set to 1.1-tests for a reviewable diff (i.e. merge into master after #283).

fsteeg and others added 7 commits April 27, 2020 14:16
- be more verbose in some error messages
- add some more comments pointing to the specs
- add a blank node condition according to spec 16.4
Focusing on expansion and context/term processing
@fsteeg fsteeg requested a review from dr0i April 28, 2020 09:25
@coveralls
Copy link

Coverage Status

Coverage increased (+0.04%) to 90.37% when pulling b6ba9e8 on 1.1 into 53470d6 on 1.1-tests.

@fsteeg
Copy link
Member Author

fsteeg commented Jul 3, 2020

I just discovered that there is a new Java implementation for JSON-LD 1.1, titanium-json-ld: https://github.com/filip26/titanium-json-ld. It is linked from https://json-ld.org/ and included in the conformance report at https://w3c.github.io/json-ld-api/reports/. Given the amount of work still required here, and the level of conformance already achieved by titanium-json-ld, I'm wondering if it actually makes sense to continue our effort here.

@ansell
Copy link
Member

ansell commented Jul 9, 2020

I have not had time to put into this project recently. If the JSON-LD 1.1 changes are not progressing well, then that may be an option. I am merging this into the 1.1 branch based on Travis passing.

@umbreak
Copy link
Contributor

umbreak commented Mar 1, 2021

I did some benchmarks of both implementations and Json-LD Java is by far more performant.

As I mentioned on the repo it is very well just probably due to the fact that the Json-LD 1.1 spec is more complex and not to the titanium codebase. However it is good to keep track of it

@gkellogg
Copy link

gkellogg commented Mar 1, 2021

I did some benchmarks of both implementations and Json-LD Java is by fr more performant.

As I mentioned on the repo it is very well just probably due to the fact that the Json-LD 1.1 spec is more complex and not to the titanium codebase. However it is good to keep track of it

Depending on which algorithms are involved, for 1.0-like data, the added complexity shouldn't really impact performance. There are some additional checks to look for scoped contexts in expansion and compaction, and for different container types, but I wouldn't expect these to have any significant affect on basic performance if these features aren't used.

A healthy eco-system depends on diverse implementations, and I hope that jsonld-java continues to make progress towards full 1.1 conformance.

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.

7 participants