Re: Comments on SPARQL 1.1 Update (3)

On 2010-09-01, at 23:47, Andy Seaborne wrote:

> 4.1.3 DELETE/INSERT
> 
> [[
> If an operation tries to insert into a graph that does not exist, then that graph *must* be created.
> ]]
> 
> Surely this is wrong? For stores that distinguish empty graphs from non-existent graphs, we have CREATE GRAPH.  Automatic creation is at odds with that setup.
> 
> [[
> Deleting triples that are not present, or from a graph that is not present will have no effect and will result in success.
> ]]
> 
> seems inconsistent - why can't an error be generated for this case when stores do different graph existence from emptiness?

I'm fairly sure we agreed that SPARQL Update implementations should be required to implicitly create graphs at a F2F. 4store had to do this, and it wasn't too much of an implementation burden, just test for existence before asserting the first triple in each graph.

Consider:

INSERT {
   GRAPH ?s {
     ?s ?p ?o
   }
}
WHERE {
   ?s a <Thing> .
   ?s ?p ?o .
}

Without this requirement, updates like the above can't be guaranteed to work across all stores, which would be unfortunate.

- 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

Received on Thursday, 2 September 2010 09:06:53 UTC