- From: Peter Frederick Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 20 Apr 2011 15:02:48 -0400
- To: <alexhall@revelytix.com>
- CC: <public-rdf-wg@w3.org>, <pgearon@revelytix.com>
From: Alex Hall <alexhall@revelytix.com> Subject: Re: SPARQL update with blank nodes Date: Wed, 20 Apr 2011 13:18:55 -0500 > [cc'ing one of the document editors] > > On Wed, Apr 20, 2011 at 1:55 PM, Peter Frederick Patel-Schneider < > pfps@research.bell-labs.com> wrote: > >> > From: Alex Hall <alexhall@revelytix.com> >> > Subject: Re: SPARQL update with blank nodes >> Date: Wed, 20 Apr 2011 12:48:24 -0500 >> > >> > On Wed, Apr 20, 2011 at 1:36 PM, Peter Frederick Patel-Schneider < >> > pfps@research.bell-labs.com> wrote: >> > >> >> So now I don't understand SPARQL 1.1 Update, which states >> >> >> >> Deleting triples that are not present, or from a graph that is not >> >> present will have no effect and will result in success. *Using a new >> >> blank node in a delete template will lead to nothing being deleted, as >> >> the new blank node cannot match anything that already exists.* >> >> [emphasis added] >> > >> > A better way of phrasing that might be, "a blank node label in a delete >> > template may not be reliably assumed to denote any particular resource >> > in the >> > graph." >> >> > Well, this is different, but, because it is different, I wouldn't call >> it a better phrasing, but instead ... "different". The document uses >> "matching", and the only "matching" around for blank nodes in triples is >> RDF instance matching. >> > >> > > OK, "A more accurate phrasing of what I think the authors were intending to > convey..." > > >> > >> >> because blank nodes *do* match, as per SPARQL 1.1 query. >> > >> > Blank nodes in the WHERE pattern act as local variables that match >> > anything, >> > but are projected out of the result set. >> > >> > A better comparison is probably to blank nodes in a CONSTRUCT template, >> > described here: >> > >> > http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#tempatesWithBNodes >> > >> > [[ >> > A template can create an RDF graph containing blank nodes. The blank >> > node >> > labels are scoped to the template for each solution. If the same label >> > occurs >> > twice in a template, then there will be one blank node created for each >> > query >> > solution, but there will be different blank nodes for triples generated >> > by >> > different query solutions. >> > ]] >> >> > I don't see where this bit has anything in common with matching. > > It doesn't. I always thought matching applied to the graph pattern specified > in the WHERE, not the CONSTRUCT/INSERT/DELETE template. > > I see the following text in the wiki version of the SPARQL Update document ( > http://www.w3.org/TR/2010/WD-sparql11-update-20101014/#t413): > > [[ > Note: > Needs further clarification on blank nodes, as well as on what happens if WITH > is not present. > ]] > > If you feel the usage of the term "match" in the context you cited is > problematic, then I'm sure the editors would like to hear about it as that > document goes to last call in 2 weeks. > > -Alex This seems very agressive given the note you mention above. I'll send in my concerns over the usual channels. peter
Received on Wednesday, 20 April 2011 19:03:48 UTC