Re: Versioning URIs

Hello Jeni,

Sorry to be late to the party. Great article, thanks. I was going to comment before going on vactation, then decided to think again and post later once I’d thought some more… so we’ll see if actually hit the “post comment” button.

Firstly, the article is titled “Versioning URIs” however I can’t help but think that what is being versioned is/are the resources to which the URIs refer. Of course that’s an anal quibble really, but at the same time it reveals that what you are trying to model is the changing state of the world - and that you are wanting to refer to things as they were in a particular state (or time/interval), not necessarily as they are right ‘now’. I think that’s quite a big and open field at the moment. I see a new post from Ian Davis [2] on the topic.

Secondly, the article says:

“Even better if you have one URI without a date that consistently redirects (through a 307 Temporary Redirect) to the current version of the document.”

My initial reaction was “Woa… I’m not so sure that you do want to be doing that.” The current version (undated) and specific (dated) URI refer to different resources - at least in as much as that by design, the resource referred to by the dated URI is immutable. The 307 suggests undated resource has moved to a temporary location. Roy Fielding casts a resource as a mapping function from time to sets of equivalent representations [1] (actually sets of equivalent representations or URI - the later I take to cover redirection cases). So my initial reaction arose from it being the case that, by design, the resource that ‘persists’ at dated reference has a very different future from the resource at the undated reference. Indeed if anything, it is representations of the dated resource that are temporarily available via the undated URI. Anyway… the point is that whilst I’m quite comfortable with the notion that two (or more) resources may share (sets of available) representations over some period of time, they are nevertheless different resources and the ‘hint’ that one reference is merely a temporary reference for the other seems to me misleading… and perhaps shouldn’t be encouraged. I think that whilst the two referenced resources are related in some way, I’d want to call that out explicitly in a statement rather than leverage it from a 307 response.

[1] http://www.ics.uci.edu/~fielding/pubs/webarch_icse2000.pdf [2] http://iandavis.com/blog/2009/08/time-in-rdf-1

Reply

The content of this field is kept private and will not be shown publicly.