- From: Larry Masinter <LMM@acm.org>
- Date: Thu, 7 Jun 2001 09:46:55 -0700
- To: "Sean B. Palmer" <sean@mysterylights.com>, <rden@loc.gov>, "Tim Berners-Lee" <timbl@w3.org>
- Cc: <Patrick.Stickler@nokia.com>, <www-rdf-interest@w3.org>
> TimBL uses URI-References with URL bases for plenty of things, so I > guess that he has no objections to that, but he doesn't use HTTP URLs > (with no "#") as namespaces, per:- > > [[[ > It is important, on the Semantic Web, to be clear about what is > identified. An http: URI (without fragment identifier) necessarily > identifies a generic document. This is because the HTTP server > response about a URI can deleiver a rendition of (or location of, or > apologies for) a document which is identified by the URI requested. A > client which understands the http: protocol can immediately conclude > that the fragementid-less URI is a generic document. This is true even > if the publisher (owner of the DNS name) has decided not to run a > server. Even if it just records the fact that the document is not > available online, still a client knows it refers to a document. This > means that identifiers for arbitrary RDF concepts should have fragment > identifiers. This in term means that RDF namespaces should end with > "#". > ]]] - http://www.w3.org/DesignIssues/Fragment > > I.e. not to use HTTP URIs rather than URI-References to identify > arbitrary RDF concepts. I think using fragment identifiers to "descend into meaning" was a profound mistake, and that we will have to work hard to recover from it. It conflicts with the use of fragments for ordinary and necessary syntactic reference and processing, e.g., supposing one wanted to use XPointer for application/rdf+xml MIME types. If we want to keep backward compatibility, the only way out I can see is to try and define the relationships more carefully: some RDF relationships are relationships to the actual resource or fragment identified by the Uniform Resource Identifier (with Fragment Identifier appended), and some RDF relationships are to the concepts that are described by them. In the case of namespace names, the URI identifies a resource, but the relationship is to the namespace which is described by or identified by the URI. In the case of RDF assertions, it isn't the fact that there is a "#" at the end of the URI reference, it's the fact that the nature of the assertion rdf:RDF> <rdf:Description about="http://mycollege.edu/courses/6.001"> <s:students> <rdf:Bag> <rdf:li resource="http://mycollege.edu/students/Amy"/> <rdf:li resource="http://mycollege.edu/students/Tim"/> <rdf:li resource="http://mycollege.edu/students/John"/> <rdf:li resource="http://mycollege.edu/students/Mary"/> <rdf:li resource="http://mycollege.edu/students/Sue"/> </rdf:Bag> </s:students> </rdf:Description> </rdf:RDF> isn't that the web page "http://mycollege.edu/students/Amy" is a student of the web page "http://mycollege.edu/courses/6.001" but rather than the person described by the former is a student of the college course described by the latter. Sticking (or removing) "#" from the end of the URIs doesn't help. After all, perhaps you have a catalog of courses http://mycollege.edu/courses and need to use a fragment identifier to get to a particular one: http://mycollege.edu/courses#6.001 "s:students" itself carries the responsibility of performing the indirection between description and concept described. This lets us leave namespace names as URI references by noting that the xmlns relationship doesn't link to the resource but to the 'namespace' corresponding to it, etc. Larry -- http://larry.masinter.net
Received on Thursday, 7 June 2001 12:48:25 UTC