- From: Paul Gearon <gearon@ieee.org>
- Date: Wed, 28 Apr 2010 13:39:36 -0400
- To: Steve Harris <steve.harris@garlik.com>
- Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
I accidentally responded directly to Steve. Bringing the thread back to the group. On Wed, Apr 28, 2010 at 11:29 AM, Steve Harris <steve.harris@garlik.com> wrote: > Mostly seems good, but I found a bit of optional syntax to complain about :) > > I'm a bit concerned about the optional-ness of WHERE in DELETE INSERT: > >> [ 'WITH <' uri '>' ] >> 'DELETE {' modify_template [ modify_template ]* '}' >> 'INSERT {' modify_template [ modify_template ]* '}' >> [ 'USING <' uri '>' ]* >> [ 'USING NAMED <' uri '>' ]* >> [ 'WHERE' ] GroupGraphPattern > > This implies that > DELETE { <a> <b> <c> } INSERT { <d> <e> <f> } { <x> <y> <z> } > would be legal syntax, and with some pretty non-obvious behaviour. It's not optional in DELETE or INSERT individually, so it seems odd that it is here. "WHERE" was supposed to be optional everywhere (for consistency with SPARQL Query), so it was a mistake that I made it mandatory for DELETE and INSERT. That said, I agree with your observation that leaving out WHERE makes a DELETE/INSERT statement very non-obvious. I'm all for making it mandatory. I know that a mandatory "WHERE" is inconsistent with SPARQL Query, but I've personally never seen a query in the wild without the WHERE keyword (I've seen them in examples in this forum, but nowhere else). Given the confusion above, plus the fact that we're already a little inconsistent with SPARQL Query (e.g. USING instead of FROM), then I think it's reasonable to require the word. Are there naysayers? Regards, Paul
Received on Wednesday, 28 April 2010 17:40:12 UTC