- From: Steve Harris <steve.harris@garlik.com>
- Date: Fri, 8 Jan 2010 16:04:13 +0000
- To: Paul Gearon <gearon@ieee.org>
- Cc: Andy Seaborne <andy.seaborne@talis.com>, SPARQL Working Group <public-rdf-dawg@w3.org>
On 8 Jan 2010, at 15:35, Paul Gearon wrote: > On Fri, Jan 8, 2010 at 5:55 AM, Steve Harris > <steve.harris@garlik.com> wrote: >> On 7 Jan 2010, at 18:35, Paul Gearon wrote: >> ... >>>> >>>> 2/ Ambiguity. >>>> This sequence of tokens: >>>> >>>> WITH <uri> >>>> DELETE { ?x :p ?v } >>>> INSERT { ?x :q ?v } >>>> WHERE { ?x :q 123 } >>>> >>>> can be parsed at least 2 different ways: >>>> >>>> As two operations: >>>> WITH <uri> >>>> DELETE { ?x :p ?v } >>>> # No WHERE >>>> # followed by a separate operation >>>> # No WITH >>>> INSERT { ?x :q ?v } >>>> WHERE { ?x :q 123 } >>>> >>>> or as >>>> # All one operation >>>> WITH <uri> >>>> DELETE { ?x :p ?v } >>>> INSERT { ?x :q ?v } >>>> WHERE { ?x :q 123 } >>>> # WITH and WHERE included >>> >>> The use of semicolon to join these was discussed in the past. That >>> would seem to me to be the most sensible approach. I've put it in >>> for >>> now, but would appreciate comment. >> >> >> Semicolon to separate, surely? Or maybe I'm completely >> misunderstanding >> what's going on. > > That's what had been discussed initially. But then I learnt that > everything had initially been designed to be separable without an > explicit separator character. The only case (that I know of) where > this breaks down, is Andy's example above. Surely it makes more sense > to join this one case to together than it does to separate everything > else? 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. - Steve -- Steve Harris, CTO, Garlik Limited 2 Sheen Road, Richmond, TW9 1AE, UK +44(0)20 8973 2465 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Friday, 8 January 2010 16:04:45 UTC