- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Sun, 22 Nov 2009 16:05:55 +0000
- To: Kjetil Kjernsmo <kjetil@kjernsmo.net>
- CC: public-rdf-dawg@w3.org
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