Re: reconsidering: blank nodes as named-graph labels

On 11/05/13 13:39, Eric Prud'hommeaux wrote:
> * Pat Hayes <phayes@ihmc.us> [2013-05-10 22:08-0500]
>> I entirely agree.  I also note that SPARQL engines can surely just treat the bnodeIDs as if they were skolemized IRIs, and nothing would break. All that matters in either case is the ability to check identity of identifiers.
>
> I'm certainly in favor of this. I've heard that the objection stemmed
> from the SPARQL definition of an RDF dataset:
> [[
> An RDF dataset is a set:
> { G, (<u1>, G1), (<u2>, G2), . . . (<un>, Gn) }
> where G and each Gi are graphs, and each <ui> is an IRI. Each <ui> is
> distinct.
> ]] — http://www.w3.org/TR/sparql11-query/#sparqlDataset
>
> This implies a dynamic (runtime) error for:
> Data:
>    _:x <p> <o> .
> Query:
>    INSERT { GRAPH ?s { ?s ?p ?o } }
>     WHERE { ?s ?p ?o }
> , but there are no tests for that in the SPARQL 1.1 tests.

That seems to be already covered:

http://www.w3.org/TR/sparql11-update/#def_datasetQuadPattern

[[
'GRAPH' VarOrIri '{' TriplesTemplate? '}'

Dataset(QuadPattern, μ, DS, GS ) is the Dataset consisting of an empty 
default graph, plus - in case μ(VarOrIri) yields a valid IRI - a named 
graph (μ(VarOrIri), G) such that G is composed by all valid RDF triples 
obtained from substituting the variables in skμ(TriplesTemplate) 
according to μ and combining these triples into a single RDF graph by 
set union.
]]

This covers it:

- in case μ(VarOrIri) yields a valid IRI -

 Andy

Received on Saturday, 11 May 2013 16:16:52 UTC