-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
Currently there is no convention on how to handle the graph term in quoted triples when implementing the RDF-star CG spec.
In my view there are 3 ways options of how to go about this without introducing any new terms:
- Make the graph term optional in RDFJS quads, and do not include it in quoted triples (this would be breaking) or allow the graph term to be set to null (also breaking).
- Agree that all quoted triples should be represented as RDFJS quads with the DefaultGraph set for the graph term
- Agree that all quoted triples should be represented as RDFJS quads with the graph term the same as that of the top level quad.
To give a concrete example then if we have the following nquads statement
<<:a :b :c>> :p :o :g
it would, in RDFJS, become
under option 1
quad(
quad(
namedNode('http://example.org/a'),
namedNode('http://example.org/b'),
namedNode('http://example.org/c'),
null,
),
namedNode('http://example.org/p'),
namedNode('http://example.org/o'),
namedNode('http://example.org/g'),
)
under option 2 (and as is currently implemented in this PR)
quad(
quad(
namedNode('http://example.org/a'),
namedNode('http://example.org/b'),
namedNode('http://example.org/c'),
DEFAULT_GRAPH,
),
namedNode('http://example.org/p'),
namedNode('http://example.org/o'),
namedNode('http://example.org/g'),
)
under option 3
quad(
quad(
namedNode('http://example.org/a'),
namedNode('http://example.org/b'),
namedNode('http://example.org/c'),
namedNode('http://example.org/g'),
),
namedNode('http://example.org/p'),
namedNode('http://example.org/o'),
namedNode('http://example.org/g'),
)
Currently I have a PR open to support the current RDF-star specification in N3.js where I have gone with option 2 (see rdfjs/N3.js#311).
Metadata
Metadata
Assignees
Labels
No labels