- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 27 May 2009 10:40:45 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
On 26 May 2009, at 20:41, Axel Polleres wrote:
> Hi all,
>
> I am trying hard to get my head around the various update issues.
>
> First of all, the conclusions we seem to have reached today
> (objections please now, if any!):
>
> 1) it seems that all agreed that we need more than PUT/DELETE alone
> is needed.
>
> 2) it seems further that several people think that fixing a PUT/
> DELETE semantics for inserting/deleting data still would be
> desirable.
I'm not sure what the value of "several" is, but I'm one of those.
There are lots of usecases around having the RDF data locally, and
wanting to send it to the RDF store without parsing it into a big
INSERT statement. It also makes RDF stores behave in a more obviously
RESTful way.
When the stores PUT endpoint matches the start of the graph URI this
is trivial, eg for the endpoint http://store.example.com/graph/ you
can write to http://store.example.com/graph/data.rdf, trivially with
PUT http://store.example.com/graph/data.rdf HTTP/1.1
Content-type: ...
[send data]
You can use curl -T to do this from the command line.
But there is also a sub-usecase (2b), where the graph URI does not
start with the URI of the endpoint, where it gets a bit tricky. This
is useful if you want to restore a RDF store from backups of it's RDF
graphs, which is something we do in Garlik, then you want to be able
to control the graph URI that the RDF data is restored to.
Currently we use:
PUT http://store.example.com/graph/http://source.com/data.rdf
for example to restore to http://source.com/data.rdf. But this is
fairly ugly, and probably a little strange.
Another option would be something like
PUT http://store.example.com/graph/?graph=http%3A%2F%2Fsource.com%2Fdata.rdf
...
[ This could also be reused to POST in data to be appended, as POST
has no obvious destination in its description. ]
Logically you would also expect
GET http://store.example.com/graph/?graph=http%3A%2F%2Fsource.com%2Fdata.rdf
to do something equivalent to
CONSTRUCT { ?s ?p ?o }
WHERE {
GRAPH <http://source.com/data.rdf> {
?s ?p ?o
}
}
So, how many people want something like (2) above, and how many also
want something like (2b)?
- Steve
--
Steve Harris
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 Wednesday, 27 May 2009 09:41:18 UTC