RE: [VM] cookbook issue in naming 'hash namespaces'

I for one didn't notice the distinction that you were making between the
"namespace URI" and the "vocabulary URI", so if they can be the same I
think it would cause less confusion.

David Booth




> -----Original Message-----
> From: public-swbp-wg-request@w3.org 
> [mailto:public-swbp-wg-request@w3.org] On Behalf Of Alistair Miles
> Sent: Wednesday, February 15, 2006 12:57 PM
> To: Ralph R. Swick
> Cc: public-swbp-wg@w3.org
> Subject: Re: [VM] cookbook issue in naming 'hash namespaces'
> 
> 
> 
> 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/thr
ead.html#msg113
> [4]
http://lists.w3.org/Archives/Public/public-swbp-wg/2006Jan/thread.html#m
sg129
> [5]
http://lists.w3.org/Archives/Public/public-swbp-wg/2006Feb/thread.html#m
sg6
> [6]
http://lists.w3.org/Archives/Public/public-swbp-wg/2006Feb/thread.html#m
sg0
> 
> [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 19:42:47 UTC