Re: SPARQL update with blank nodes

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.

>> 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.

> -Alex

peter

Received on Wednesday, 20 April 2011 17:56:26 UTC