Security/identity / XML · 2008-01-03

People and cool URIs

W3C has a working draft out on cool URIs for the semantic web that looks at how to choose URIs for RDF descriptions of both information resources (web documents) and non-information resources (such as people). The paper suggests that URIs should unambiguously refer to only one resource at a time — for example, Alice’s web page and Alice herself are distinct and should be referred to with different URIs.

This lofty philosophical topic (the whole resource-identifier/resource/representation-of-a-resource distinction still gives me a headache) gets boiled down to a fairly ordinary recommendation to use tricks like http://www.example.com/about#alice — a URI reference with a fragment identifier of “alice” — to refer uniquely to Alice the person, and to use content negotiation to retrieve an RDF description of what that particular referent actually is.

What’s more interesting to me is how “cool URIs for non-information resources” intersects with identity. I’ve noticed that the RDF world talks about people on the web, but the reality is that people do web stuff with a layer of several digital identities in between. For instance, it’s likely that http://www.example.com/about#alice, in the context of the scenario introduced by the paper, refers to Alice in her role as an example.com employee, and that she has a whole other digital life beyond the confines of example.com.

Of course, the notion of a URI referring to a digital identity maps nicely to OpenIDs… An OpenID really has three potential “audiences”: (1) it’s a machine-resolvable endpoint that OpenID consumer sites can use get the OpenID’s owner authenticated; (2) it’s often “human-resolvable”, allowing arbitrary people to follow the link and see a “home page” for that identity (anyone can go see what’s at http://openid.sun.com/xmlgrrl, for example); and (3) the string itself becomes a well-known name for its owner and provides the ability to correlate her activities across the web.

If we accept that a URI will tend to encompass only a part (a persona or whatever) of a whole person, Cases #1-2 are copacetic with the mechanism of resolving a URI to get a (possibly RDF-encoded) representation of a resource and doing content negotiation at one level or another to accomplish description-switching. Case #3 isn’t covered by the paper, in the sense that the special circumstance of URIs-themselves-as-resources isn’t touched on — though I dimly recall that RDF does deal with this as a use case. I have a nagging feeling that a complete “cool semantic web URIs” solution does need to account for this.

As I was doing all this pondering, I came across Scott Kveton’s post today on URL’s are people too … and service end-points. Aha! Indeed they are (allowing for the rhetorical conflation of the resource identifier with the resource itself, which doesn’t give me a headache). That’s really what I meant by talking about the “user as web resource” metaphor back in August. Depending on the sophistication of the metadata and the various services we choose to provide at that endpoint, a URI can, over time, do a better and better job of representing a flesh-and-blood person online.