- From: Alistair Miles <a.j.miles@rl.ac.uk>
- Date: Wed, 15 Feb 2006 17:56:38 +0000
- To: "Ralph R. Swick" <swick@w3.org>
- CC: public-swbp-wg@w3.org
Hi Ralph, ... and I so foolishly remarked in the last telecon that 'I've said all I'm ever going to say about hash URIs' ... Sorry, I should have sent an email explicitly explaining my decision to revert your changes. I did send an email [10] noting some technical issues regarding 'namespace URIs' and 'vocabulary URIs'. Typically (in my experience), RDF schemas and OWL ontologies do something like the following: <rdf:RDF xml:base="http://example.com/foo" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#"> <owl:Ontology rdf:about=""> <rdfs:comment>An Example OWL Ontology</rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="Bar"> <rdfs:label>Bar</rdfs:label> </owl:Class> </rdf:RDF> This document contains the following triples: <http://example.com/foo> rdfs:comment "An Example OWL Ontology". <http://example.com/foo#Bar> rdfs:label "Bar". Note that, as I documented at [10], if the value of the xml:base attribute were changed to "http://example.com/foo#" this does not change the triples at all. In this example, although the ontology uses a 'hash namespace', the URI that actually identifies the ontology is <http://example.com/foo>. This is what all the examples in the OWL specifications do. This is also the situation you get any time the ontology uses an empty rdf:about attribute. In order to use the namespace URI as the ontology URI you have to do something like: <owl:Ontology rdf:about="http://example.com/foo#"> <rdfs:comment>An Example OWL Ontology</rdfs:comment> ... </owl:Ontology> ... I've not seen that done. I haven't eyeballed a particularly large number of ontologies in my time, so I could be wrong about this - we should ask SWOOGLE. In [10] I noted the following: ... we have to be careful not to confuse the 'vocabulary URI' (a.k.a. the 'ontology URI', i.e. the URI that identifies the vocabulary/ontology) and the 'namespace URI' (i.e. the actual URI you append the local name of each term to). E.g. [for vocabularies that use a hash namespace ...] http://example.com/vocab - vocabulary URI. http://example.com/vocab# - namespace URI. For RDFS/OWL vocabularies/ontologies that use a slash namespace both the vocabulary URI and the namespace URI are the same, e.g. http://example.com/anothervocab/ - vocabulary URI. http://example.com/anothervocab/ - namespace URI. I saw no need to complicate the cookbook with this distinction between namespace URI and vocabulary URI. I therefore only ever made reference to a 'vocabulary URI', removed all references to 'namespace URI' in the main body of the text (although I missed some in the apache directive comments, and in the PURLs section). I also removed the trailing hash from any 'vocabulary URI' to be consistent with what I understood to be the most widely deployed practice. Al. [10] http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/0088.html Ralph R. Swick wrote: > Alistair, > > I just noticed an issue in the way the current cookbook editor's draft > refers to hash namespace URIs. Sorry for not explicitly raising this > earlier, as I suspect that it may represent something fundamental > in your view of vocabulary naming. > > In recipes 1, 3, 1a, and 3a the current editor's draft [1], rev 1.10 refers > to vocabulary names as: > > For vocabulary ... > > http://isegserv.itd.rl.ac.uk/VM/http-examples/example1 > > ... defining classes ... > > http://isegserv.itd.rl.ac.uk/VM/http-examples/example1#ClassA > http://isegserv.itd.rl.ac.uk/VM/http-examples/example1#ClassB > > i.e. the trailing '#' is consistently omitted from the vocabulary name. > > I claim this is a fundamental mistake and would argue it on the > basis of both semantics and what the RDF core specifications > state. The semantic point is that [1] should be the name of the > vocabulary while [2] is the name of a document that might (should) > describe that vocabulary. > > [1] http://isegserv.itd.rl.ac.uk/VM/http-examples/example1# > [2] http://isegserv.itd.rl.ac.uk/VM/http-examples/example1 > > I believe that the terms "namespace name" and "vocabulary > name" should be considered synonymous when they apply > to URI references for use within the Semantic Web. > > This is certainly related to the discussion thread [3] (continued > at [4], [5], and [6]) but I hope we can resolve this without forking > those threads yet again. > > The RDF core specifications state [7] that RDF URI references > are constructed by simple concatenation of the local name to > the namespace name. There is nothing in the RDF specifications > that endorse an inference that clients should insert a '#' under > some conditions. > > The RDF specification [8] uses the phrasing > > "The RDF namespace URI reference (or namespace name) is > http://www.w3.org/1999/02/22-rdf-syntax-ns# ... The RDF Vocabulary > is identified by this namespace name ..." > > So it is a mistake for us to suggest in this cookbook that clients > add a "missing" '#'. > > (I will raise a similar issue with respect to the SKOS Working Draft > in a separate message.) > > I'd noticed this in the 2005-11-18 editor's draft [9] and thought it was > simply a typo so I corrected it in rev 12. That change was subsequently > reverted in rev 15 but I can't tell from your commit comment whether > you'd intentionally reverted it or not. So I don't know whether you mean > to draw some distinction here -- and if so we'd better explain that > distinction with more words -- or whether simply adding the trailing > '#' to the vocabulary names is acceptable to you. > > [3] http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/thread.html#msg113 > [4] http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/thread.html#msg129 > [5] http://lists.w3.org/Archives/Public/public-swbp-wg/2006Feb/thread.html#msg6 > [6] http://lists.w3.org/Archives/Public/public-swbp-wg/2006Feb/thread.html#msg0 > > [7] http://www.w3.org/TR/rdf-syntax-grammar/#section-Identifiers > [8] http://www.w3.org/TR/rdf-syntax-grammar/#section-Namespace > > [9] http://www.w3.org/2001/sw/BestPractices/VM/http-examples/2006-01-18/ > > -Ralph > > > -- Alistair Miles Research Associate CCLRC - Rutherford Appleton Laboratory Building R1 Room 1.60 Fermi Avenue Chilton Didcot Oxfordshire OX11 0QX United Kingdom Email: a.j.miles@rl.ac.uk Tel: +44 (0)1235 445440
Received on Wednesday, 15 February 2006 17:56:49 UTC