- From: Tim Bray <tbray@textuality.com>
- Date: Mon, 25 Mar 2002 17:24:25 -0800
- To: www-tag@w3.org
[Apologies in advance for verbosity.] I've been thinking about whether or not a URI can identify a car, and what resources are, and the REST notions of resource and representation, and a few things float to the top: When I am discussing actual Web software with actual programmers and we talk about pointing to things and designing address spaces, I always, without exception, refer to Web addresses as URLs. When talking about the theory of these things in the TAG and other W3C contexts, I find myself always, without exception, using the term URI. This is at least evidence of tension between theory and reality. Let's take Roy Fielding's definition of a resource as "anything that can be identified and which may have one or more representations" where a representation is some metadata (headers) and some bits. It seems that there is a hierarchy of resource classes lurking in here, whether or not we have the language to talk about them. If we did, it might be useful in writing down some things about the Web architecture. The notion of "Mexico" can be identified, and I can write a URI and assert that it identifies Mexico: http://www.textuality.com/countries/Mexico and then write RDF rules about it and make inferences, and this would be useful, but it would be unsurprising if the resource had no representations; and Mexico the nation will obviously transcend any individual representation. Let's call this a "class A" (for Abstract) resource. Dan's car is another example of such a resource. An example of another class of resource is that identified by http://www.xml.com/1999/12/graphics/connolly1resized.jpg This resource has a representation. In fact, I think this resource *is* its representation. (And I think that this URI is a URL, for what that's worth). Let's call this a "class C" (for Concrete) resource. I think that the difference between class A and class C resources may turn out to be useful in writing about Web architecture. Alternatively, should we, in thinking about Web architecture, ignore this obvious difference and focus only on architectural principles that work equally well with both classes of resource? Finally, is there anything in the space between class A and class C resources? Maybe. Consider the resource identified by http://www.w3.org/2000/svg It currently has one representation, a very brief HTML doc. However, it could very reasonably have a variety of other representations: a RDDL directory, an RDF schema... and equally, it could have no representation at all and still be useful. However, the existence of more than one disjoint representation is not surprising. Is this a "class B" resource? I'm not sure. -Tim
Received on Monday, 25 March 2002 20:24:33 UTC