On designing good URIs for your ontology

March 5th, 2007

The Semantic Web rests on a foundation or URIs that are used to denote things. It’s an idea that’s simple to understand and to implement. Or so one would think. After all, “What’s in a name? that which we call a rose by any other name would smell as sweet.”

It’s left as an exercise to the reader, unfortunately, to figure out how to choose good URIs for her resources and external objects. Once one chooses and start using a URI, it should not change, so it’s important to do it right the first time. There are some complicated technical details like content negotiation, one big file for your terms or many small ones, HTTP 303 redirects, and choosing between hash and slash.

Leo Sauermann, Richard Cyganiak and Max Völkel, have written a note, Cool URIs for the Semantic Web, that discusses some of these issues.

“The Resource Description Framework RDF allows you to describe web documents and resources from the real world—people, organizations, things—in a computer-processable way. Publishing such descriptions on the web creates the semantic web. URIs are very important as the link between RDF and the web. This article presents guidelines for their effective use. We discuss two strategies, called 303 URIs and hash URIs. We give pointers to several web sites that use these solutions, and briefly discuss why several other proposals have problems.”