- From: Polleres, Axel <axel.polleres@siemens.com>
- Date: Mon, 1 Oct 2012 22:28:03 +0200
- To: Andy Seaborne <andy.seaborne@epimorphics.com>, "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
> Any bNode must be a completely new bNode for each template > substitution, not just the current one (ì). "current" applies to the request, not to "ì" ... >As the Dataset-UNION may not have been done immediately each > ì is processed (hence "in DS or in GS" does not apply), the text allows > the same bNode to be generated for two different rows. ... I adopted your suggestion and put the and put the "full" explanation in parentheses, i.e. it now reads: "with a new, unique blank node (unique to the current update request and to each ì and different from any blank nodes used in DS or in GS)" and I also amended the explanation after the definition to reflect path 2) as per [1]. Moreover, also as per [1] I have created two more test cases to clarify the behavior of bnodes in the presence of different WHERE clauses [2,3]. Axel 1. http://lists.w3.org/Archives/Public/public-rdf-dawg/2012OctDec/0001.html 2. http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/insert-where-same-bnode.ru 3. http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/insert-where-same-bnode2.ru ________________________________________ From: Andy Seaborne [andy.seaborne@epimorphics.com] Sent: Monday, October 01, 2012 6:54 PM To: public-rdf-dawg@w3.org Subject: Re: ACTION-687: editorial edits on update On 25/09/12 22:08, Polleres, Axel wrote: > In completion of ACTION-687 I reworded the definition in Section > 4.2.3 as follows: > > " [...]Here, skì(TriplesTemplate) stands for replacing any blank > nodes occurring in the TriplesTemplate with a new blank node unique > to the current update request and ì, and different from any blank > nodes used in DS or in GS. " I'm not sure this captures it adequately. See discussion on CONSTRUCT. Any bNode must be a completely new bNode for each template substitution, not just the current one (ì). As the Dataset-UNION may not have been done immediately each ì is processed (hence "in DS or in GS" does not apply), the text allows the same bNode to be generated for two different rows. Generated blank nodes need to be unique and not used anywhere else. (This is not hard to do gloablly) """ replacing any blank nodes occurring in the TriplesTemplate with a new, unique blank node """ ("fresh" is sometimes used for this) Andy > > and amended the explaining remarks after the definition linking to > Andy's additions in section 19.6 of the query doc: > > " The function skì guarantees that blank nodes in the QuadPattern are > re-instantiated "per solution" ì (analogous to the treatment of blank > nodes in CONSTRUCT templates in the SPARQL1.1 Query Language) and > that blank nodes reused within an update request are scoped over the > entire request, cf. also the respective <a > href="http://www.w3.org/TR/sparql11-query/#grammarBNodeLabels"> > remarks on scoping of blank nodes within requests in the SPARQL > grammar</a>. " > > best, Axel >
Received on Monday, 1 October 2012 20:28:32 UTC