> From: Code for Libraries [mailto:code4...@listserv.nd.edu] On Behalf Of > Karen Coyle > Sent: Thursday, April 02, 2009 10:15 AM > To: CODE4LIB@LISTSERV.ND.EDU > Subject: Re: [CODE4LIB] resolution and identification (was Re: > [CODE4LIB] registering info: uris?) > > Houghton,Andrew wrote: > > RFC 3986 (URI generic syntax) says that "http:" is a URI scheme not a > > protocol. Just because it says "http" people make all kinds of > > assumptions about type of use, persistence, resolvability, etc. > > > > And RFC 2616 (Hypertext transfer protocol) says: > > "The HTTP protocol is a request/response protocol. A client sends a > request to the server in the form of a request method, URI, and > protocol > version, followed by a MIME-like message containing request modifiers, > client information, and possible body content over a connection with a > server." > > So what you are saying is that it's ok to use the URI for the hypertext > transfer protocol in a way that ignores RFC 2616. I'm just not sure how > functional that is, in the grand scheme of things.
You missed the whole point that URIs, specified by RFC 3986, are just tokens that are divorced from protocols, like RFC 2616, but often work in conjunction with them to retrieve a representation of the resource defined by the URI scheme. It is up to the protocol to decide which URI schemes that it will accept. In the case of RFC 2616, there is a one-to-one relationship, today, with the HTTP URI scheme. RFC 2616 could also have said it would accept other URI schemes too or another protocol could be defined, tomorrow, that also accepts the HTTP URI scheme, causing the HTTP URI scheme to have a one-to-many relationship between its scheme and protocols that accept its scheme. > And when you say: > > > The "Cool URIs for the Semantic Web" document describes how an HTTP > protocol > > implementation (of RFC 2616) should respond to a dereference of an > HTTP URI. > > I think you are deliberating distorting the intent of the Cool URIs > document. You seem to read it that *given* an http uri, here is how the > protocol should respond. But in fact the Cool URIs document asks the > question "So the question is, what URIs should we use in RDF?" and > responds that one should use http URIs for the reason that: > > "Given only a URI, machines and people should be able to retrieve a > description about the resource identified by the URI from the Web. Such > a look-up mechanism is important to establish shared understanding of > what a URI identifies. Machines should get RDF data and humans should > get a readable representation, such as HTML. The standard Web transfer > protocol, HTTP, should be used." The answer to the question posed in the document is based on Tim Burners-Lee four linked data principles where one of them states to use HTTP URIs. Nobody, as far as I know, has created a hypertext based system based on the URN or info URI schemes. The only hypertext based system available today is the Web which is based on the HTTP protocol that accepts HTTP URIs. So you cannot effectively accomplish linked data on the Web without using HTTP URIs. The document has an RDF / Semantic Web slant, but Tim Burners-Lee's four linked data principles say nothing about RDF or the Semantic Web. Those four principles might be more aptly named the four linked "information" principles for the Web. Further, the document does go on to describe how an HTTP server (an implementation of RFC 2616) should respond to requests for Real World Object, Generic Documents and Web Documents which is based on the W3C TAG decisions for httpRange-14 and genericResources-53. The scope of the document clearly says: "This document is a practical guide for implementers of the RDF specification... It explains two approaches for RDF data hosted on HTTP servers..." Section 2.1 discusses HTTP and content negotiation for Generic Documents. Section 4 discusses how the HTTP server should respond with diagrams and actual HTTP status codes to let user agents know which URIs are Real World Objects vs. Generic Document and Web Documents, per the W3 TAG decisions on httpRange-14 and genericResources-53. Section 6 directly address the question that this thread has been talking about, namely using new URI schemes, like URN and info and why they are not acceptable in the context of linked data. And here is a quote which is what I have said over and over again about URI being tokens and divorced from protocols: "To be truly useful, a new scheme must be accompanied by a protocol defining how to access more information about the identified resource. For example, the ftp:// URI scheme identifies resources (files on an FTP server), and also comes with a protocol for accessing them (the FTP protocol)." "Some of the new URI schemes provide no such protocol at all. Others provide a Web Service that allows retrieval of descriptions using the HTTP protocol. The identifier is passed to the service, which looks up the information in a central database or in a federated way. The problem here is that a failure in this service renders the system unusable." Section 7 goes on to say: "We have described two approaches that fulfill these requirements, both based on the HTTP URI scheme and protocol." So I will have to respectfully disagree that I'm deliberating distorting the intent of the Cool URIs document. Andy.