- From: Steve Harris <steve.harris@garlik.com>
- Date: Fri, 8 Jan 2010 21:59:27 +0000
- To: Andy Seaborne <andy.seaborne@talis.com>
- Cc: Paul Gearon <gearon@ieee.org>, SPARQL Working Group <public-rdf-dawg@w3.org>
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
Received on Friday, 8 January 2010 21:59:58 UTC