- From: Norman Walsh <Norman.Walsh@Sun.COM>
- Date: Fri, 19 Jul 2002 15:47:16 -0400
- To: www-tag@w3.org
TimBL, Ian, and I spent some time talking about this issue yesterday. Specifically, we spent a couple of hours in front of a whiteboard talking about it. What follows is a first-pass brain dump of what I gleaned from that meeting. I am specifically not speaking for TimBL, but I am going to try to present a line of argument that I think he would agree with (if he doesn't, I'm sure he'll say so :-) For the record, I'm not sure I agree with all of it, but at least I think I understand it better today. Definition: a URI identifies a resource that is amenable to unambiguous interpretation by recursive application of a finite set of specifications, beginning with the specification that governs the scheme of the URI. n What that means is that if I'm handed a URI reference of the form "http://example.com/foo#bar", I can proceed in the following way: 1. Start with the scheme component of the URI reference. That tells me what it is. 2. If it can be retrieved, I can try to retrieve it. 3. If I get a representation back, the MIME type of that representation tells me how to interpret it. 4. The fragment identifier (if there is one) is interpreted according to the rules specified by the MIME type. I think the important part here is that there's a chain of specs that tell me what I can do, and in what order I can do them, and I always start with the URI scheme spec first. Definition: the URI scheme tells you the range of resources that can be addressed by that scheme. Some schemes, like UUID explicitly say you can reference real world objects. But others are more limiting. The mailbox: scheme, for example, says you can reference mailboxes with it: The mailto URL scheme is used to designate the Internet mailing address of an individual or service. One can argue, therefore, that it's wrong to assert that mailto:fred@nwalsh.com is a URI reference that identifies my car. My car is not "the Internet mailing address of an individual or service." Similarly, the http: scheme says you can reference network resources with it: The "http" scheme is used to locate network resources via the HTTP protocol. One can argue, therefore, that it's wrong to assert that http://nwalsh.com/galaxies/andromeda is a URI reference that identifies the Andromeda galaxy. The Andromeda galaxy is not a network resource. The extent to which a person or a car is a network resource is perhaps debatable, but one school of thought clearly says they aren't and that "network resource" should really be read as "document". So is it reasonable to assert that http://nwalsh.com/galaxies#andromeda identifies the Andromeda galaxy? Maybe. Because "andromeda" is a fragment identifier and its interpretation is determined by the MIME type of the representation of http://nwalsh.com/galaxies that I retrieved. If that spec says fragment identifiers can identify real world objects, so be it. Definition: the MIME type tells you the range of fragment identifiers used in conjunction with representations that have that content type. A slight disconnect exists here because the URI identifies a resource (which may have several representations) but the interpretation of the fragment identifier is specific to the representation actually retrieved. That leads to another principal that you shouldn't serve representations that have differing fragid interpretations. So http://nwalsh.com/myfavoritemovie#title could be either the element with ID title (if the content-type is XHTML) or the abstract notion of the title of the movie (if the content-type is, for example, RDF). (With help from Ian), norm -- Norman.Walsh@Sun.COM | It is not failure of others to appreciate XML Standards Architect | your abilities that should trouble you, but Sun Microsystems, Inc. | rather your failure to appreciate | theirs.--Confucius
Received on Friday, 19 July 2002 15:47:52 UTC