W3C home > Mailing lists > Public > public-ldp-wg@w3.org > February 2013

Re: ldp-ISSUE-10 (Guidance around ETags): Include clarifications and guidance around ETags [Linked Data Platform core]

From: Nandana Mihindukulasooriya <nmihindu@fi.upm.es>
Date: Tue, 5 Feb 2013 19:28:00 +0100
Message-ID: <CAAOEr1m-uBGxqhv5a6m9yTie3b9GSTFEge+RVqisf_o7T-p=zg@mail.gmail.com>
To: Henry Story <henry.story@bblfish.net>
Cc: Steve Battle <steve.battle@sysemia.co.uk>, "Linked Data Platform (LDP) Working Group" <public-ldp-wg@w3.org>
Hi,

On Mon, Feb 4, 2013 at 11:58 AM, Henry Story <henry.story@bblfish.net>wrote:
>
> Also while we are at it, is there a good efficient algorithm for
> calculating this?
>

I think this is quite implementation specific (eg. generating over content
vs incremented version number on updates) depending the application.
Depending on many variables like the number of resources, the size of the
graphs, etc. the most optimal algorithm differs.

However, I think what we should agree and may be also put in the spec, what
is the meaning of a weak etag in the context of LDP* . As RDF spec has
already defined graph equivalency [1], we could say that when a server
responses with the same weak etag it must ensure the graph equivalency.
Servers will also have take care of the content negotiation  when
generating the etags so that they can be used in cache validation.

HTTPbiz provides a very good section on generation of etags.

"*The principle behind entity-tags is that only the service author knows
the implementation of a resource well enough to select the most accurate
and efficient validation mechanism for that resource, and that any such
mechanism can be mapped to a simple sequence of octets for easy comparison.
 Since the value is opaque, there is no need for the client to be aware of
how each entity-tag is constructed.*
*
*
*For example, a resource that has implementation-specific versioning
applied to all changes might use an internal revision number, perhaps
combined with a variance identifier for content negotiation, to accurately
differentiate between representations.  Other implementations might use a
collision-resistant hash of representation content, a combination of
various filesystem attributes, or a modification timestamp that has
sub-second resolution.*" [2]

Best regards,
Nandana

[1] - http://www.w3.org/TR/rdf-concepts/#section-graph-equality
[2] -
https://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-21#section-2.2.1
Received on Tuesday, 5 February 2013 18:28:46 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 9 May 2013 13:44:29 UTC