- From: Alex Hall <alexhall@revelytix.com>
- Date: Wed, 20 Apr 2011 14:18:55 -0400
- To: Peter Frederick Patel-Schneider <pfps@research.bell-labs.com>
- Cc: public-rdf-wg@w3.org, Paul Gearon <pgearon@revelytix.com>
- Message-ID: <BANLkTinHzF1J808vDJeubM2BZjXD6iGx-g@mail.gmail.com>
[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 > > > > -Alex > > peter > >
Received on Wednesday, 20 April 2011 18:19:23 UTC