W3C home > Mailing lists > Public > public-rdf-wg@w3.org > October 2011

Re: Scope of blank nodes in TriG?

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Fri, 14 Oct 2011 19:41:48 +0100
Message-ID: <4E98826C.7050805@epimorphics.com>
To: public-rdf-wg@w3.org


On 14/10/11 16:37, Alex Hall wrote:
...
> Question for the SPARQL folks: given the following sequence of operations:
>
> INSERT DATA { GRAPH <g1> { _:s <p> <o> } }

That "_:s" is handled by parsing to be fresh bNode.

> INSERT { GRAPH <g2> { ?s <p> <o> } } WHERE { GRAPH <g2> { ?s <p> <o> } }
                                        WHERE { GRAPH <g1> { ....
 >
> Does SPARQL take any position on whether the blank node inserted into g2
> is the same as or different from the one from g1?

Alex - you can check my reply with an editor of the SPARQL Update 
document (say, @quoll for example...)

Rather important question so I went and had a look at the details ...

INSERT [1] is based on Dataset-UNION [2] of a Dataset(QuadPattern) [3]

It's all done with "union" (not "merge") of triples

For each solution to the WHERE clause:

sk╬╝(Template) is the function that names apart the bNodes actually 
mentioned in the pattern, then template is instantiated for the solution 
and union is used to make the graph store changes.

tl;dr: yes, it's the same blank node

	Andy

[1] http://www.w3.org/TR/sparql11-update/#def_deleteinsertoperation
[2] http://www.w3.org/TR/sparql11-update/#def_datasetUnion
[3] http://www.w3.org/TR/sparql11-update/#def_datasetQuadPattern

>
> -Alex
>
>
>
>
>
>     [1] http://www4.wiwiss.fu-berlin.de/bizer/trig/
>
>     --
>     Ian Davis, Chief Technology Officer, Talis Group Ltd.
>     http://www.talis.com/ | Registered in England and Wales as 5382297
>
>
Received on Friday, 14 October 2011 18:42:27 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:45 GMT