Returning datasets (was: Re: side remarks on the shortcut discussion for INSERT/DELETE...)

>> Two points: (1) use of GRAPH and (2) patterns that are more than
>> templates. The pattern needs restricting (which is why it didn't
>> happen at 1.0)
>>
>> It is worth noting that this is an extension to the SPARQL Query
>> language that has repercussions on existing implementation design and
>> on protocol because CONSTRUCT returns a graph currently, not an RDF
>> dataset.
>
> Well, some implementations return N3 currently, and as I understand it
> N3 can encode named graphs, so I'm not sure that this is a big issue
> conceptually.

Digressing ...

N3 graphs (formulae) are literals [1].  N3 extends RDF terms to include 
graphs.  And they can occur in the subject position :-) And you can have 
graph literals inside graph literals.

So N3 can *encode* named graphs but it goes further; it doesn't use 
them.  Are there many readers of N3 that can cope with the non-RDF parts 
apart from N3/cwm related systems?  I think many non-rules engines are 
Turtle-esque that actually read the RDF subset.

Graphs are literals. TriG or NQuads would be less radical  - but they 
are not standards either.  I wish they were.

TriG puns on N3 to give:

<http://example/graph> = { <s> <p> <o> }

where "=" in N3 is owl:sameAs.

N3::
<http://example/graph> owl:sameAs { <s> <p> <o> }^^rdf:graph

whereas won't TriG readers would treat it as the NQuads: (give or take 
base URIs)?

NQuads::
<s> <p> <o> <http://example/graph> .

See also The diagram "Appendix: N3 Subsets" (no anchor)

	Andy

[1] http://www.w3.org/DesignIssues/Notation3#Quoting
See also The diagram "Appendix: N3 Subsets" (no anchor)

Received on Friday, 12 February 2010 21:04:35 UTC