Re: Review of "SPARQL 1.1 Update"

On 08/01/2010 9:59 PM, Steve Harris wrote:
> On 8 Jan 2010, at 18:28, Andy Seaborne wrote:
>> On 08/01/2010 4:16 PM, Paul Gearon wrote:
>>> Fri, Jan 8, 2010 at 11:04 AM, Steve Harris<steve.harris@garlik.com>
>>> wrote:
>>> <snip/>
>>>> Well, I'd have thought the common case was a single operation in a
>>>> request,
>>>> so:
>>>>
>>>> WITH<uri>
>>>> DELETE { ?x :p ?v }
>>>> INSERT { ?x :q 234 }
>>>> WHERE { ?x :q 123 }
>>>>
>>>> That mean less characters are used on average, if you care about
>>>> that sort
>>>> of thing. And if you want two operations:
>>>>
>>>> WITH<uri>
>>>> DELETE { ?x :p ?v }
>>>> ;
>>>> INSERT { ?x :q 234 }
>>>> WHERE { ?x :q 123 }
>>>>
>>>> That seems visually like two statements to me. Some SQL systems use
>>>> ; to
>>>> separate statements too, and it's familiar to programmers of C-derived
>>>> languages.
>>>
>>> Makes sense. So do we tack a [ ';' ] to the end of the expression?
>
> Seems good to me.
>
>> Not overloading DELETE would work now we have not got a short-form of
>> INSERT and the multiple use of DELETE and INSERT with one WHERE.
>
> I think I'd find the overloaded form much easier to remember. There's no
> particular reason why REMOVE is not allowed to take a WHERE, but DELETE is.
>
> It's especially arbitrary around the DELETE WHERE { } syntactic shortcut
> as opposed to REMOVE { }.
>
> - Steve

I think that introducing ";" for all operations because this one short 
form needs it is not balanced so I'm keen to find a way to avoid that 
necessity.

We have DELETE DATA to help the case where concrete triples are deleted 
from the grpah store, , so DELETE <something> { } could carry that style 
over.

Any suggestions for the discrimiating word?

My suggestion:

DELETE WHERE { template }

because the duplication can be eliminated by not duplicating the 
pattern, rather than the the template.  Restrictions of templates still 
apply (as they do for triples when using DELETE DATA).

	Andy

Received on Saturday, 9 January 2010 19:18:13 UTC