Re: Update short forms (from ISSUE-24)

On 24 Dec 2009, at 16:41, Andy Seaborne wrote:

> On 23/12/2009 18:48, Steve Harris wrote:
...
>> I'm concerned about attempting to define syntactic shortcuts in a
>> language that's not in widespread use yet. I think there's a serious
>> risk of standardising something that seems just plain odd in  
>> retrospect.
>
> I also agree with that.  I was struck by the "we allow triples to be  
> moved between graphs" and when I looked at the necessary raw SPARQL  
> Update commands, I found them somewhat cumbersome (and so easy to  
> get wrong or to get complex effects in supposed simple tasks).

I'm still not sure that it works in general, the syntax below only  
works assuming that the graph name is resolvable from the processor,  
or that the processor looks in it's own graphs to answer LOAD first,  
neither of which happen enough to make it with defining in that way,  
in my opinion.

If there's a MOVE which works as below, I suspect people will spend a  
lot of time answering questions about why it doesn't reliably work.

If we need a MOVE/RENAME I think we'd be better of having a genuine  
native verb for it, so we can define what happens with the issues  
around bNodes, and graphs that have been locally modified.

- Steve

>>> LOAD <g1> INTO <tmp1532>
>>> WITH <g2> DELETE { ?s ?p ?o } WHERE { GRAPH <tmp1532> { ?s ?p ?o } }
>>>
>>> and, yes, you can't delete bnodes in <g2> this way
>>>
>>> LOAD <g1> INTO <g3>
>>> LOAD <g2> INTO <g3>
>>> UNLOAD <g1> FROM <g3>
>>>
>>> may not result in <g3> being the same (bnode isomorphic to) <g2>.  
>>> Use
>>> CLEAR if you want to remove bnodes.
>>>
>>> It's a common enough aggregation pattern to be worth having though.
>>>
>>> Andy
>>>
>>

-- 
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 Saturday, 26 December 2009 09:47:28 UTC