Re: Scope of blank nodes in TriG?

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 UTC