- 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