- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Mon, 09 Nov 2009 21:56:27 +0000
- To: Steve Harris <steve.harris@garlik.com>
- CC: Paul Gearon <gearon@ieee.org>, public-rdf-dawg@w3.org
On 09/11/2009 20:40, Steve Harris wrote: > On 9 Nov 2009, at 20:29, Paul Gearon wrote: >> On Mon, Nov 9, 2009 at 3:19 PM, Andy Seaborne >> <andy.seaborne@talis.com> wrote: >>> On template/pattern .... "bnodes". >> >> That reminds me... >> >> Are we expecting the statement: >> >> DELETE WHERE { :foo :bar _:b1 } >> >> to be the equivalent of: >> >> DELETE { :foo :bar ?b } WHERE { :foo :bar ?b FILTER isBlank(?b) } >> >> >> If not, then will _:b1 bind to a single blank node or all of them? Can >> it bind to non-blank nodes? Is this question too hard, and we should >> disallow blank nodes in DELETE templates? > > It should follow the same rules as CONSTRUCT as far as possible, for > reasons of sanity preservation. However, it's not so obvious what that > means in this case. > > CONSTRUCT mints "new" bNodes when you give it [] or _:b. Isn't it an > error to mention bNodes with the same label in the CONSTRUCT and WHERE > clauses? That makes things a little tricky. Error? - they are different bnodes. A bnode label scope is (1) the BGP in which it appears (pattern) or (2) the template instantiation for CONSTRUCT. Andy > > Maybe the shorthand notation should ban bNodes? :( > > - Steve >
Received on Monday, 9 November 2009 21:56:52 UTC