W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2009

Re: ISSUE-48: Less verbose delete syntax

From: Andy Seaborne <andy.seaborne@talis.com>
Date: Mon, 09 Nov 2009 21:56:27 +0000
Message-ID: <4AF8900B.2090308@talis.com>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:40 GMT