Re: ISSUE-48: Less verbose delete syntax

On 10 Nov 2009, at 10:26, Andy Seaborne wrote:
> On 10/11/2009 06:44, Steve Harris wrote:
>> On 9 Nov 2009, at 22:15, Andy Seaborne wrote:
>>> On 09/11/2009 20:27, Steve Harris wrote:ILTERs
>>
>> Well, in any case we still need to allow for
>>
>> DELETE {
>> template
>> }
>> WHERE {
>> pattern
>> OPTIONAL {
>> pattern2
>> }
>> }
>
> That's already in the SPARQL/Update document isn't it?  DELETE with  
> template and pattern.  Template being a BGP-pattern only.  Or are  
> you saying template involves OPTIONAL?

I was just saying that the template has to be able to handle unbound  
variables, but we do than in CONSTRUCT already.

>> CONSTRUCT can do that, so it's well defined.
>
> The template can't involve OPTIONAL in CONSTRUCT as currently defined.

no, but it handles unbound variables.

> The fact that in a template, only individual triples, not patterns,  
> with unbound variables are omitted sometimes does what you want,  
> sometimes doesn't.

Indeed, but we can't really change that now, and my experience of it  
is quite positive.

> In the CONSTRUCT case, you get more triples with the single triple  
> pattern exclusion and more triples in the answer is relatively safe  
> but when used in DELETE that can end up removing more triples, which  
> is not so safe.

No, but as long as it parallels CONSTRUCT people shouldn't be surprised.

> If the template above is supposed to be pattern+pattern2, it can  
> have strange effects for any triple pattern in pattern2 that does  
> not use a variable introduced somewhere in the optional part:
>
> { ?x :p ?v . OPTIONAL { ?x :q ?z . ?x :r 123 } }
>  ==>
> { ?x :p ?v . ?x :q ?z . ?x :r 123 }

Indeed, but if you were testing via CONSTRUCT, this would be apparent.

> and you can end up deleting "?x :r 123" which is otherwise guarded  
> by a match of "?x :q ?z".  Opps.
>
> So we would need an interpretation of the keyword OPTIONAL in  
> templates.

We would, but that wasn't what I was suggesting :)

- 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 Tuesday, 10 November 2009 12:08:20 UTC