Re: Open issues in HTTP/Update protocol (for discussion)

On 30/11/10 18:23, Chimezie Ogbuji wrote:
> Subject: Open HTTP Update issues for discussion
>
> I've created a wiki documenting the (open) issues and comments regarding the
> HTTP/Update specification:
>
>
> http://www.w3.org/2009/sparql/wiki/HTTP-UPDATE-ISSUES
>
> Amongst those, there are 3 that require some further discussion in the WG
>
> * ISSUE-56 (PATCH HTTP/Update and SPARQL Update payload) [1]
>
> There is a comment explicitly asking that the specification is clearer on
> the behavior of PATCH or at least if we intend for it to be normative.  My
> recommendation is to leave the behavior for PATCH as informative (given the
> relative youth of the PATCH verb), however we should clarify the behavior.
> In particular, SPARQL Update should be RECOMMENDED for use as a patch
> document.  A status code of 400 (Bad Request) should be RECOMMENDED as a
> response to requests where the SPARQL Update request addresses a graph other
> than the one targeted by the PATCH request,  a 404 should be returned if the
> graph addressed in the Update request is *not* the same graph identified in
> the PATCH request, etc.  So, the informative behavior would be to facilitate
> the use of a subset of the SPARQL Update request (the subset that only
> targets individual graphs) as a 'patch document' (with an appropriate media
> type) to the extent that it matches the semantics of the HTTP request.


 > In particular, SPARQL Update ...

I confess I don't quite understand this.  The 400 and 404 text above 
seem to both talk about a graph other than the PATCH target.

Could you give examples of the two cases?
Isn't the request URI the target of the PATCH request?

I don't think a SPARQL Update request ever addresses a graph - it's the 
graph store, right?  GET returns meta data about teh graph store, (303?)

But a change to a graph store by changing one of it's graphs is simply 
changing part of a resource which is what PATCH is about.

RFC 5789 referrs to 404 for a non-existent resource in sec 2.2.

400 is badly formatted document (aka parse error), not about targetting.

What am I missing here?

PATCH is part of HTTP and can be used where appropriate according to the 
PATCH spec - we don't need to do anything but informative text would be 
helpful. Informative text does not have "RECOMMENDED" in it.

For SPARQL HTTP Update, PATCH only applies to append of triples like POST?

	Andy

Received on Tuesday, 14 December 2010 18:00:09 UTC