- From: Ralph R. Swick <swick@w3.org>
- Date: Fri, 17 Feb 2006 11:12:42 -0500
- To: Alistair Miles <a.j.miles@rl.ac.uk>
- Cc: public-swbp-wg@w3.org
At 05:56 PM 2/15/2006 +0000, Alistair Miles wrote: >... and I so foolishly remarked in the last telecon that 'I've said all I'm ever going to say about hash URIs' ... :) oh dear. >Sorry, I should have sent an email explicitly explaining my decision to revert your changes. As clearly I should also have done when I made them. We missed a bunch of telecons where I was planning to mention this. > I did send an email [10] noting some technical issues regarding 'namespace URIs' and 'vocabulary URIs'. right; I overlooked your last paragraph (which you cited): ... we have to be careful not to confuse the 'vocabulary URI' ... and the 'namespace URI' ... I should have flagged this issue then, as I disagree with your conclusion -- though I respect the underlying implementation issue that you identified in that message. >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". Right you are, plus the crucial triple <http://example.com/foo> rdf:type <http://www.w3.org/2002/07/owl#Ontology> I missed this detail in reading the OWL Language Reference. Indeed, [1]7.2 Ontology header explicitly recommends exactly this practice, though it only shows an actual usage of xml:base in [2]Appendix B RDF Schema of OWL. [1] http://www.w3.org/TR/owl-ref/#Ontology-def [2] http://www.w3.org/TR/owl-ref/#appB I am just so accustomed to citing vocabularies by their namespace URI. >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. Though as Bjoern and Jeremy subsequently pointed out [3], it's not clear whether this is the specified behavior or a [mis]feature of implementations. [3] http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/0103.html >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> No, you could write <rdf:RDF xml:base="http://example.com/foo" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#"> <owl:Ontology rdf:about="#"> <rdfs:comment>An Example OWL Ontology</rdfs:comment> </owl:Ontology> </rdf:RDF> >... 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. Good idea to consult Swoogle, but clearly the normative OWL ontology does exactly the pattern you show so I concede that there are likely very few that use the rdf:about="#" idiom. ... >I saw no need to complicate the cookbook with this distinction between namespace URI and vocabulary URI. all right, I concede your point for now. > 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. I understand. Now that we've had this discussion, I would have preferred that the choice was made instead to refer only to 'namespace URI' but rather than standing on that editorial point I'll propose instead the following addition to [4]. SKOS Core [SKOS] is an example of a vocabulary that uses a hash namespace. ... In this case, the URIs for the classes and properties are constructed by appending first a hash character ('#') and then a 'local name' to the vocabulary URI. /+(Within an RDF document, the hash character is typically appended via the namespace declaration.)+/ The 'local name' is ... [4] http://www.w3.org/2001/sw/BestPractices/VM/http-examples/2006-01-18/#naming
Received on Friday, 17 February 2006 16:13:34 UTC