- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Fri, 14 Oct 2011 19:41:48 +0100
- 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 UTC