GH-5327 RDF and SPARQL 1.2 Compliant parsers, writers, SPARQL grammar and evaluation#5836
Conversation
|
|
||
| private boolean anonymous; | ||
|
|
||
| private boolean isBNode; |
There was a problem hiding this comment.
Could you explain what this is used for?
9b0081c to
4899e30
Compare
| @@ -80,11 +80,12 @@ public abstract class AbstractLiteral implements Literal { | |||
| private static final long serialVersionUID = -1286527360744086451L; | |||
There was a problem hiding this comment.
In AbstractLiteral should the base direction be part of the equals and/or hashCode methods?
| List.of("brf"), null, SUPPORTS_NAMESPACES, SUPPORTS_CONTEXTS, SUPPORTS_RDF_STAR); | ||
| List.of("brf"), null, SUPPORTS_NAMESPACES, SUPPORTS_CONTEXTS, NO_TRIPLE_TERMS); |
There was a problem hiding this comment.
Shouldn't binary rdf support triple terms when it previously had support for RDF*?
|
Over the past days I have conducted a bit of smoke testing of this change from a user perspective. I have successfully used RDF 1.2 and SPARQL 1.2 constructs in our application (in the example backed by a memory store as the first reference implementation inside RDF4J). I was able to use different serialization formats and also successfully executed different queries. Also a quick smoke test in the RDF4J workbench was successful. I would opt for merging this and making available as second 6.0 milestone build to a broader audience. When there are edge cases, we can stil iterate upon those later Great work in this PR which has been done by a broader round of contributors 👍 |
kenwenzel
left a comment
There was a problem hiding this comment.
Remove superfluous unrelated test in lmdb module.
aschwarte10
left a comment
There was a problem hiding this comment.
Great work and a huge step for the RDF4J project. This PR lifts the project to the new RDF 1.2 and SPARQL 1.2 standard.
As stated in my previous comment, I have done some acceptance testing from a user's point of view. Everything working smoothly.
I would be happy to see this merged and made available in a second 6.0 milestone build for broader exposure. We can use this state as a basis for next steps (e.g. LMDB changes) and for broader validation.
Looking forward to seeing reviews from others and getting this in
… branches: eclipse-rdf4jGH-5327 added RDF 1.2 testsuite files for Turtle, TriG, NTriples, NQuads, and refactored testsuite code to run RDF 1.2 and 1.1 test suites eclipse-rdf4jGH-5327 Version Announcement in Turtle and TriG writers, Version Parsing in Turtle, TriG, NTriples, and NQuads parsers eclipse-rdf4jGH-5327 Changed RDF-Star to RDF 1.2 triple terms, bumped version to 6.0.0 eclipse-rdf4jGH-5327 RDF 1.2 implementation for JSON and dirLangString literals With the addition of the following: - Triple Terms: Renamed Triple → TripleTerm throughout the codebase to align with RDF 1.2 terminology. TripleTerm is allowed only on object position as defined in RDF 1.2 specification. - SPARQL 1.2 compliance to grammar and built-in functions. Implement SPARQL 1.2 compliant evaluation - Add SPARQL 1.2 conformance suite and run also tests that are not approved. Add a passing conformance test suite for the MemoryStore. Disable LMDB and NativeStore SPARQL conformance test since their base direction and triple term support is not implemented yet. - Add RDF 1.2 xml conformance suite - Disable W3CApprovedSPARQL10QueryTest. Needs further inspection. - Extends the version announcement logic so it is applied in NTriples and Nquads writers. Fixes an issue with incorrect closing of context when statement is part of the named graph and version has to be announced afterward for trig files. Fixes an issue with announcing version in the middle of ttl file where it concatenates the version to the previous triple. - Extends RDF-XML parser and XMLLiteral serializer to fully support RDF 1.2 semantics and strict validation rules - Updated RDF 1.2 conformance tests for parsers and writers - Remove RDF-star factories, rename Values.triple to Values.tripleTerm - Removal of SPARQL star formats - replacement of legacy star parser/writers and formats with the corresponding classes supporting triple terms, replacement of methods and parameters indicating legacy SPARQL star support with new Triple Term support, removal of legacy star file formats (.srjs, etcs) and mime types. Co-authored-by: Sava Savov <sava.savov@graphwise.ai> Co-authored-by: Ralitsa Dimitrova <ralitsa.dimitrova@ontotext.com> Co-authored-by: Dancho Ivanov <dancho.ivanov@ontotext.com>
2adfa2f to
4e230c1
Compare
|
Based on contributions by Sarah Grand https://github.com/SarahGrand @SarahGrand |
GitHub issue resolved: #GH5327
Briefly describe the changes proposed in this PR:
The MR adds supports for RDF 1.2 and SPARQL 1.2 based on the existing branches:
GH-5327 added RDF 1.2 testsuite files for Turtle, TriG, NTriples, NQuads, and refactored testsuite code to run RDF 1.2 and 1.1 test suites GH-5327 Version Announcement in Turtle and TriG writers, Version Parsing in Turtle, TriG, NTriples, and NQuads parsers GH-5327 Changed RDF-Star to RDF 1.2 triple terms, bumped version to 6.0.0 GH-5327 RDF 1.2 implementation for JSON and dirLangString literals
With the addition of the following:
PR Author Checklist (see the contributor guidelines for more details):
mvn process-resourcesto format from the command line)Co-authored-by: Sava Savov sava.savov@graphwise.ai
Co-authored-by: Ralitsa Dimitrova ralitsa.dimitrova@ontotext.com
Co-authored-by: Dancho Ivanov dancho.ivanov@ontotext.com