W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2009

Re: ISSUE-48: Less verbose delete syntax

From: Kjetil Kjernsmo <kjetil@kjernsmo.net>
Date: Mon, 09 Nov 2009 21:05:24 +0100
To: public-rdf-dawg@w3.org
Message-id: <200911092105.24735.kjetil@kjernsmo.net>
On Monday 9. November 2009 18:36:05 Paul Gearon wrote:

> While I like this syntactic sugar (though I agree with Andy's
> suggestion of DELETE WHERE { }), the complexity that has been coming
> out of it has me quite concerned, especially for a first pass.


> Personally, I'd like to see:
>  DELETE WHERE { pattern }
> to be the equivalent of:
>  DELETE { pattern } WHERE { pattern }
> Thereby avoiding the need to write an identical pattern twice.

Right, that's the most important motivation for this.

> (incidentally, I wrote "pattern" twice here intentionally, instead of
> template/pattern, to indicate that pattern was repeated).
> If we have patterns that get extended into filters, optionals, and
> unions, then the DELETE template is not the same as the WHERE pattern,
> and hence would require the full form of:
>  DELETE {template} WHERE {pattern}

Yeah, but...

> Going the way that has been suggested in this thread, it appears that
> we are trying to infer a template out of a pattern from a WHERE
> clause. This seems excessively difficult, and not possible for a
> completely general pattern. 

...then I don't understand why you didn't write that 
DELETE {template} WHERE {template}
should be equivalent to 
DELETE WHERE {template}
since the template surely doesn't contain all the complexity of the 
pattern, right?

> So to summarize, I'd like to see a "DELETE WHERE" shorthand for simple
> deletions where the template and pattern are identical, but not for
> anything else. If more is needed, then there's the longer form to work
> with.

Well, Andy and Steve has already getting started and have mentioned 
allowing just a BGP too, but yeah, I can live with your proposal, as long 
as we keep an issue open for a fuller graph pattern for a time-permitting, 
or more likely for SPARQL 1.2. 

I think that the goal isn't in this round to ensure that DELETE WHERE can 
do as much as  DELETE {template} WHERE {pattern} can do, the goal is to 
have a shorthand that can do very easily what you would do in a large 
number of situations.


Kjetil Kjernsmo
Received on Monday, 9 November 2009 20:06:02 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:00:57 UTC