Re: Update Syntax

On 28/04/2010 4:13 PM, Paul Gearon wrote:
> On Wed, Apr 28, 2010 at 6:57 AM, Andy Seaborne<andy.seaborne@talis.com>  wrote:
>> Great - thanks (again, we ought to do this on-list).
>>
>> May I copy replies with your original message to the list?
>
> Yes, sorry.
>
>> Questions to make sure I understand:
>>
>> 1/ DELETE WHERE is not pulled out as a separate operation but doens't it
>> have specific syntax issues:
>
> Well I previously thought it had a restriction on labelled blank
> nodes, but apparently that's not the case, right?

The syntax issue is that DELETE WHERE takes template, not a graph pattern.

(and DELETE DATA is a template without variables)

>> 1a/ WITH is an overlap with GRAPH, DELETE WHERE is more like DELETE DATA.
>
> WITH overlaps with GRAPH, yes. But it's also providing a graph to the
> WHERE clause (for those statements that have one). And yes, a WHERE
> clause can have a GRAPH inside the GroupGraphPattern.
 >
> DELETE WHERE does look a lot like DELETE DATA, but of course the
> former allows the use of variables while latter does not. So
> syntactically they appear related, but semantically I believe that
> DELETE WHERE is much more like DELETE { template } WHERE { pattern }.

DELETE WHERE { template }


Because
DELETE WHERE takes template, not a graph pattern, it seems more 
consistent to make it like DELETE DATA.  Any use of WITH is the same as

DELETE WHERE { GRAPH <x> { ... } }

without repetition, which was the argument for having WITH in the full 
DELETE-INSERT-pattern form.


>> 1b/ The WHERE part is a template isn't it?
>
> Ah, you're right. Thanks.
>
>> 2/ What happened to CLEAR DEFAULT etc?
>
> I thought that "CLEAR" without anything else meant the same thing?

I recall a discussion about DEFAULT so that accidents like an 
uncompleted CLEAR didn't remove stuff by mistake.

>> 3/ It's GRAPH in CLEAR/DROP/CREATE but not LOAD?
>
> It looked like that when I got here!  :-)  I agree that adding GRAPH
> would be more consistent. OTOH, I don't know why GRAPH is needed in
> the first place. You'll notice that I've accidentally left it out of
> the examples for CREATE and DROP.
>
>> 4/ (from 3) Is reuse of the word GRAPH agree?  I've lost track.
>
> Sorry, I don't follow you. Are you referring to the use of the word
> GRAPH at all? Don't worry about losing track. You've kept up with
> these things far better than I have.

The work GRAPH is being used for quads { GRAPH <g> { .. } } and here for 
something a bit different, referring to the graph name.  As long as 
we're aware of this and OK with it.

	Andy

Received on Thursday, 29 April 2010 19:21:15 UTC