Re: Considering a PATCH model for LDP

Hello ldp wg,

I wanted to weigh in here and share my opinion. I think sparql-update
was designed to cover this use-case of patching RDF data. I think the wg
should recommend using sparql-update's DELETE/INSERT to modify resources
via a PATCH request.

Just as with any patch format, implementations will need to validate the
request body. By using sparql-update we were able to use existing
parsers to help validate the request body.

In Callimachus we accept PATCH with sparql-update and verify that the
DELETE/INSERT clauses are anchored to the correct resource uri; linked
from the left; all variables and blank nodes are connected; only basic
graph patterns, optional, and bind are used.

Using sparql-update also makes it easier for clients, as they don't need
to materialize the exact set of triples to delete/insert. They can
instead use sparql functions to generate the appropriate terms at
runtime. This allows the same sparql-update body to be reused again by
an agent to update different resources is a similar way.

http://www.w3.org/TR/2013/WD-ldp-20130307/#http-patch
http://www.w3.org/2012/ldp/track/issues/17
changesets as a recommended PATCH format

Regards,
James

Received on Thursday, 14 March 2013 13:13:03 UTC