The RESTful repository?

December 4, 2006

I’m one of a growing group of people who believe that repositories ought to be good web citizens and follow a RESTful model. Someone who has probably got further than most in this line of thought is Andy Powell, who posted the other day on how repos would need to change to become more web 2.0 friendly. Excerpt from the post:

“Digital repositories would be significantly more usable in the context of Web 2.0 if they used ‘http’ URIs throughout, and if those URIs were assigned in a more coherent fashion across the range of repositories being developed.”

Andy also points out that OAI identifiers are a problem as they don’t dereference in a uniform manner. These, along with identifiers that rely on redirection like Handle and PURL, all make it harder to conceptualize how a RESTful repository might fit together.

I’ve been thinking about trying to create a RESTful system (specifically one that uses is HTTP or DAV based with minimal extensions) for chemistry and kept running into the same problems. I think they’re applicable to repostories too: –

MIME type is not enough

This doesn’t just come down to the fact that MIME is too coarse grained so that the GDFR could replace it. Typing in HTTP, content-negotiation and MIME in general are only about the encoding, and not about the purpose.

In a RESTful repository, shouldn’t you be able to negotiate for the plain text / OTMI extract of a PDF document using the same URL? They are, after all, representations of the same resource. In some cases like this one you could negotiate using MIME types, just demand the text/plain representation. But how about the thumbnail of a larger image? Or the abstract of a document?

OPTIONS undefined

Something like OPTIONS to find discover which representations are available for a resource, and what abilities the current user has to interact with the resource
is necessary. AFAIK this isn’t covered in WebDAV either. Probably the best way is to lash something to do this into a PROPFIND response.

We (Murray-Rust group) are going to be writing a RESTful molecule system over the next couple of months, so if I’m badly off track or you’ve got any tips, please let me know!

Richard Jones, DSpace committer, repository engineer an Imperial College and all round good egg, has entered the blogosphere. One for the aggregator.