W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2010

Re: Comments on SPARQL 1.1 Update (3)

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Thu, 02 Sep 2010 08:44:03 +0100
Message-ID: <4C7F55C3.9000605@epimorphics.com>
To: Sandro Hawke <sandro@w3.org>
CC: SPARQL Working Group <public-rdf-dawg@w3.org>


On 02/09/10 01:14, Sandro Hawke wrote:
> On Wed, 2010-09-01 at 23:47 +0100, 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.
>
> What's the guidance for users who want to write code which works on
> either kind of end-point?   Is it always possible to write in a
> conservative way which will work on either kind of store?  Or do users
> need to detect which kind of server they are talking to and have
> branches in their code?   If it is possible to avoid branches, can we
> document that style as best practice?

My partial answer: graphs can be created beforehand with

CREATE SILENT GRAPH <g>

It's only partial because you can't create a graph by variable that way 
but then you can't load data into a graph by variable either:

LOAD ?file INTO ?graph WHERE { ... }

DROP GRAPH ?g WHERE { ... }

> (I guess we already made this decision, at the moment to me it seems
> like a good place to flip a coin and make one kind of end-point go
> through the work to emulate the other kind.)

There are other cases as well: how about a graph store that contains a 
fixed set of updateable graphs.  An important degenerate case being 
having one graph the default graph and no named graphs, but also a fixed 
set of named graphs (one per person in a department).  As it stands, 
such a store is not conforming to the spec.

	Andy
Received on Thursday, 2 September 2010 07:44:40 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:43 GMT