Re: ISSUE-48: Less verbose delete syntax

On 22/11/2009 13:35, Kjetil Kjernsmo wrote:
> On Saturday 21. November 2009 19:37:43 Lee Feigenbaum wrote:
>> Steve Harris wrote:
>>> On 21 Nov 2009, at 14:21, Kjetil Kjernsmo wrote:
>>>> PROPOSAL: In cases where the WHERE clause only consists of BGP, GRAPH
>>>> and FILTER, the template may be omitted from the a  DELETE [ FROM
>>>> <uri>  ]* { template } [ WHERE { pattern } ] query.
>>>
>>> I feel that the consensus was more on:
>>>
>>> DELETE [ {template} ] WHERE { pattern }

Probably a good idea to move this area on further.

But we do need the details here - what restrictions are there on 
pattern/template?

FILTER can work.  Do we want those? (my pref, is yes).
http://lists.w3.org/Archives/Public/public-rdf-dawg/2009OctDec/0362.html

What about blank nodes?
http://lists.w3.org/Archives/Public/public-rdf-dawg/2009OctDec/0359.html

Binary graph patterns are more complicated, may be unnecessary and can 
by introduced later when they become clear.

e.g.
http://lists.w3.org/Archives/Public/public-rdf-dawg/2009OctDec/0365.html
and we don't need OPTIONAL.


My pref is, currently, no to pattern combinations because of this 
unclarity.  If someone wants to make a proposal, then maybe I will find 
this a useful feature but I'm  not comfortable with the current 
situation of a outline but no detail.

>> Kjetil says omitting the template, so I think you are saying the same
>>   thing?
>>
>> Oh, I see, the grammar there says the opposite of what the English says.
>
> Ah, right, it does but it was motivated from the F2F2 resolution that
> started this thread:
>
> <sandro>  RESOLVED:  we'll have one update statement,   DELETE ... INSERT
> ... WHERE ..., where one of DELETE or INSERT may be ommitted, and WHERE is
> optional, and multiple of these may be combined in a string using ";" as
> the separator.
>
> Paul said that one may omit the WHERE clause in the case where there are no
> variables to be bound. This is also codified in the current published WD. I
> decided to cutnpaste the DELETE statement from the current WD, since the
> actual grammar here will be somewhat complex.
>
> You could say
> DELETE [ FROM<uri>  ]* [ { template } ] [ WHERE { pattern } ]
> but not everything is optional at the same time :-) That's why I decided to
> keep the current DELETE grammar in the proposal and say in the text what I
> perceive the consensus to be. Does that sound reasonable?
>
> Cheers,
>
> Kjetil

The word WHERE is, currently, optional.

[19]   	UpdatePattern	   ::=   	("WHERE")? GroupGraphPattern


In the particular case of DELETE, I think that DELETE WHERE, the WHERE 
being mandatory for this short form, (essentially a keyword that easily 
identifies it's an abbreviated delete)

Summary:

My current preference is:

DELETE WHERE { X }

where X is BGPs + GRAPH + FILTER.


(The question for me is more whether we should do less, not more, than 
that.)

	Andy

Received on Sunday, 22 November 2009 16:06:25 UTC