A quote about URIs:

I propose that a resource and its URI ought to have an intuitive correspondence. …. URIs should have a structure. They should vary in predictable ways: you should not go to /search/Jellyfish for jellyfish and /i-want-to-know-about/Mice for mice. If a client knows the structure of the service’s URIs, it can create its own entry points into the service. ….. URIs do not technically have to have any structure or predictability, but I think they should. This is one of the rules of good web design, ….. [RESTful web services. Leonard Richardson and Sam Ruby. P. 83]

And in Jon Udell’s review of the book:

Lacking a Strunk and White Elements of Style for URI namespace, we’ve made a mess of it. It’s long past time to grow up and recognize the serious importance of principled design in this infinitely large namespace. [RESTful Web Services « Jon Udell]

I was reminded of these while reading Michael Panzer's discussion of URI patterns and Dewey the other day.

Although the Dewey Decimal Classification is currently available on the web to subscribers as WebDewey and Abridged WebDewey in the OCLC Connexion service and in an XML version to licensees, OCLC does not provide any “web services” based on the DDC. By web services, we mean presentation of the DDC to other machines (not humans) for uses such as searching, browsing, classifying, mapping, harvesting, and alerting.
In order to build web-accessible services based on the DDC, several elements have to be considered. One of these elements is the design of an appropriate Uniform Resource Identifier (URI) structure for Dewey. [025.431: The Dewey blog: Designing identifiers for the DDC]

Many organizations are probably having similar discussions, and this is certainly part of a general exploration of this issues within OCLC.

Comments: 1

Oct 01, 2007
Ed Summers

If you haven't seen it before Sean Palmer has a really nice essay on URI design. I agree w/ the RESTafarians that thinking in terms of resources turns out to be a powerful tonic for encouraging sensible URLs. It i s the R in URI after all.