Re: SPARQL Update feature

Hi,

On 13 Jul 2010, at 14:39, Andy Seaborne wrote:

> 
> 
> On 13/07/2010 1:25 PM, Steve Harris wrote:
>> On 2010-07-13, at 11:46, Alexandre Passant wrote:
>> 
>> [ snip, all looks good to me ]
>> 
>>> We initially thought that ALL includes also the default graph, but that will be a problem for removing all named graphs but not the default one (not sure that will happen so often, yet)
>>> So better to have ALL = all named graphs, which leads to the following to clean the store
>>> 
>>> DROP ALL
>>> DROP DEFAULT
>>> 
>>> or
>>> 
>>> DROP ALL
>>> CLEAR DEFAULT
>>> 
>>> What do you think ?
>> 
>> I prefer DROP/CLEAR ALL does everything, including the default graph. "ALL" implies that to me.
> 
> I'm comfortable with that.
> 
> Another possibility for completeness: a special form like
> 
> RESET STORE
> 
> that then puts it outside the issue of whether ALL is all named graphs or all graphs.

Following the discussion on the last t-con on the ability to removed named graph (but not default) but also to remove all graphs, I suggest (as followed-up by Lee):

DROP [ SILENT ] (GRAPH <uri> | DEFAULT | NAMED | ALL)

DROP DEFAULT : remove only default graph. It's dropped but implicitely re-created.
DROP NAMED : remove all named graphs
DROP ALL : remove all graphs (i.e. named graphs + default one) - RESET STORE could be an alias, but it introduces one more operation, which may not be useful in that case

And use the same operations (including SILENT) for the CLEAR.
As discussed previously, DROP DEFAULT == CLEAR DEFAULT (since default graph must exist, it's implicitly created after being DROPped), but I find more consistent to use same grammar for both.

Alex.

> 
>> 
>> If I really want to leave the named graph, and CLEAR the others I can do that with:
>> 
>> DELETE WHERE { GRAPH ?g { ?x ?y ?z } }
>> 
>> Admittedly there's no DROP equivalent, for graphs that don't do empty graph culling, but that's well into corner cases AFAIC.
> 
> It's not a corner case for me - some implementations are quite happy with empty graphs and they don't naturally get culled.  Such grah stores are a collection of graphs, not stored in a common quad table.
> 
>> 
>> Otherwise, you could add a "GRAPH *" like syntax, meaning all named graphs, but I predict that users would confuse GRAPH * and ALL a lot.
> 
> Maybe - I'm more comfortable with DROP GRAPH *. With an explicit use of GRAPH, and DEFAULT (not GRAPH DEAFULT) it makes sense and is explainable.  At least "DROP GRAPH *" does not destroy data that the user didn't want addressed.
> 
> 	Andy
> 
>> 
>> - Steve
>> 
>> --
>> Steve Harris, CTO, Garlik Limited
>> 1-3 Halford Road, Richmond, TW10 6AW, UK
>> +44 20 8439 8203  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
>> 
>> 
>> Please consider the environment before printing this email.
>> 
>> Find out more about Talis at http://www.talis.com/
>> shared innovation™
>> 
>> Any views or personal opinions expressed within this email may not be those of Talis Information Ltd or its employees. The content of this email message and any files that may be attached are confidential, and for the usage of the intended recipient only. If you are not the intended recipient, then please return this message to the sender and delete it. Any use of this e-mail by an unauthorised recipient is prohibited.
>> 
>> Talis Information Ltd is a member of the Talis Group of companies and is registered in England No 3638278 with its registered office at Knights Court, Solihull Parkway, Birmingham Business Park, B37 7YB.

--
Dr. Alexandre Passant
Digital Enterprise Research Institute
National University of Ireland, Galway
:me owl:sameAs <http://apassant.net/alex> .

Received on Thursday, 15 July 2010 14:20:22 UTC