Transmitting deltas [was Re: Efficient RDF Interchange, Re: Zippy]

On 02/18/2014 01:20 PM, Stephen Williams wrote:
> [ . . . ]
> Has anyone been working on compact, efficient binary representation of
> RDF/N-Quads or similar?  Chunking / deltas?
> Does anyone want to work on these problems?

I am interested in transmitting deltas, though so far I have only been 
casually thinking about the problem and looking around a little.  I 
would be most interested in a solution that is parameterized by the 
delta algorithm, so that it could be used with any data and any delta 
algorithm -- not just RDF.

FYI, in 2002 RFC 3229 attempted to address the problem of transmitting 
deltas, but to my mind not very satisfactorily, partly because it seemed 
too complicated and partly because it required a new HTTP header:
http://tools.ietf.org/html/rfc3229
AFAICT others also have not found it satisfactory, because I have not 
seen any uptake.

FWIW, in thinking about the problem, one way I considered approaching 
the problem was to use the HTTP Content-Encoding header to indicate a 
delta-encoding.  But one issue is that the ETag is computed *after* the 
Content-Encoding is applied, and hence is only an ETag for the delta -- 
not for the original content.   I do not want to lose the ability to 
receive the ETag for the original content.  Hence, the original ETag 
would have to be somehow bundled with the delta.  Also, I don't know if 
an approach based on the Content-Encoding header would work well in 
terms of current HTTP library implementations.  Maybe someone who is 
more knowledgeable about HTTP libraries would know.

Another possible approach that came to mind is to use the HTTP PATCH 
method: http://tools.ietf.org/html/rfc5789
That's normally for a request, not a response.  Still, I was thinking 
that it might be possible to adapt it to work for responses.

Also, I have not yet found any standard "diff" media type except for 
JSON.  See MNot's blog post:
http://www.mnot.net/blog/2012/09/05/patch
Does anyone know of any?

Here's a PATCH media type for XML:
http://tools.ietf.org/html/draft-wilde-xml-patch-08

David Booth

Received on Wednesday, 19 February 2014 04:01:18 UTC