W3C home > Mailing lists > Public > semantic-web@w3.org > September 2012

Re: Vocabulary (ontology) URI vs namespace

From: Bernard Vatant <bernard.vatant@mondeca.com>
Date: Mon, 10 Sep 2012 16:36:18 +0200
Message-ID: <CAK4ZFVF2TpGT=ZBLmt5p0RUnV3W0z0d2aozhO2Cxxa9Ur69YzA@mail.gmail.com>
To: María Poveda <mpoveda@delicias.dia.fi.upm.es>
Cc: Semantic Web <semantic-web@w3.org>
Hello Maria

That's a very good example of glitches that can occur when the different
files you can access through a vocabulary namespace are not consistent with
each other.
Happy coincidence I just sent this morning a message to Yves Raymond
regarding the status of this important and very much reused vocabulary
which has not been updated for almost five years. [1].
I guess it will be another good reason to look into it.

Thanks for your contribution!

Bernard

[1] http://lov.okfn.org/dataset/lov/details/vocabulary_event.html


2012/9/10 María Poveda <mpoveda@delicias.dia.fi.upm.es>

> Hi Bernard,
>
> Thanks for sharing!
>
> I've also been looking at this topic. Very interesting. I've got a few
> similar cases to add. For example:
>
>   I realized that in the ontologies importing
> "http://purl.org/NET/c4dm/event.owl" the relationships
> "http://purl.org/NET/c4dm/event.owl#place" and
> "http://purl.org/NET/c4dm/event.owl#time" are not defined as
> functional object properties. However, in the file I downloaded from
> "http://motools.sourceforge.net/event/event.html" they are defined as
> functional object properties. It shouldn't happen when your are using
> owl:imports.
>
>   It should be note that "http://purl.org/NET/c4dm/event.owl" is
> redirected to "http://motools.sourceforge.net/event/event.html" when
> using a web browser or when the http request asks for an html
> document. From this website I manually downloaded a .n3 file
> (http://motools.sf.net/event/event.122.n3) that I consider the
> reference file for this ontology. However, when accesing the
> "http://purl.org/NET/c4dm/event.owl"  URI using JENA, Ontology
> editors, or asking for rdf+xml content type, the server redirects to
> "http://motools.sourceforge.net/event/event.rdf".
>
>   The problem was the properties (#time and #place) are defined as
> funcional in the n3 file but not in the rdf one. Just to note, in both
> files the base ontology URI is "http://purl.org/NET/c4dm/event.owl".
>
>
>   Cheers,
>
>   María
>
> On Fri, Aug 31, 2012 at 1:19 PM, Bernard Vatant
> <bernard.vatant@mondeca.com> wrote:
> > Hello all
> >
> > Having harvested as of today 280 vocabularies/ontologies at
> > http://lov.okfn.org/dataset/lov
> > We have stumbled on all possible (I think) configurations regarding
> > vocabulary URI (or IRI) and namespace, and it's sometimes driving me
> nuts :)
> >
> > A common (best?) practice is to declare the vocabulary URI as a base URI
> > without any trailing # or /, to make it distinct from the ontology
> > namespace.
> >
> > Example 1 : c4o
> >
> > URI : http://purl.org/spar/c4o
> > namespace : http://purl.org/spar/c4o/
> >
> > Example 2 : c4n
> >
> > URI : http://vocab.deri.ie/c4n
> > namespace : http://vocab.deri.ie/c4n#
> >
> > In both cases the vocabulary URI is declared formally using owl:Ontology.
> >
> > In both cases the root URI and the namespace resolve and conneg nicely.
> >
> > In the second example the namespace is formally declared using
> > vann:preferredNamespaceUri, which is nice to have
> >
> > There are also many cases where the namespace is used more or less
> > explicitly as the vocabulary URI.
> >
> > Example 4 : dcterms
> >
> > Both http://purl.org/dc/terms/ and http://purl.org/dc/terms currently
> > resolve to http://dublincore.org/2012/06/14/dcterms.rdf where one can
> find :
> >
> > <rdf:Description rdf:about="http://purl.org/dc/terms/"> etc
> > although this is not a owl:Ontology declaration, this implicitly
> indicates
> > http://purl.org/dc/terms/ as the URI of the vocabulary.(would be better
> if
> > explicit ...)
> >
> > Using purl, it's often the case that the root URI does not even resolve.
> >
> > Example 4 : af
> >
> > The namespace URI : http://purl.org/ontology/af/
> >
> > ... redirects to http://motools.sourceforge.net/doc/audio_features.rdf
> >
> > ... where one can read
> > <owl:Ontology
> >
> rdf:about="file:///home/moustaki/work/workspace/motools/af/rdf/audio_features.n3">
> >
> > whereas http://purl.org/ontology/af is 404
> >
> > This example is a bit extreme (apologies to Yves for pointing that
> publicly)
> > but we have all sorts of in-between, such as no owl:Ontology declaration
> at
> > all, or lazy owl:Ontology rdf:about=""  combined with redirection so
> it's to
> > everyone guess what to put in the "" ...
> >
> > So my question is : should the practice of examples 1 and 2 be
> recommended
> > as the best one, namely :
> >
> > - Use a root URI (without either trailing # or / or file extension) as
> the
> > vocabulary URI
> > - Declare it formally using a owl:Ontology declaration in the RDF, and
> > explicitly in the HTML documentation
> > - Make this root URI resolve to both vocabulary file and documentation
> using
> > proper content negociation
> >
> > Plus (nice to have)
> >
> > - Declare explicitly the vocabulary namespace URI (either / or #) using
> > vann:preferredNamespaceUri (not only xmlns)
> > - Have the namespace resolve to the root URI
> >
> > Thanks for comments !
> >
> > Bernard
> >
> > --
> > Bernard Vatant
> > Vocabularies & Data Engineering
> > Tel :  + 33 (0)9 71 48 84 59
> > Skype : bernard.vatant
> > Blog : the wheel and the hub
> >
> > --------------------------------------------------------
> > Mondeca
> > 3 cité Nollez 75018 Paris, France
> > www.mondeca.com
> > Follow us on Twitter : @mondecanews
> >
>



-- 
*Bernard Vatant
*
Vocabularies & Data Engineering
Tel :  + 33 (0)9 71 48 84 59
Skype : bernard.vatant
Blog : the wheel and the hub <http://blog.hubjects.com/>

--------------------------------------------------------
*Mondeca**          **                   *
3 cité Nollez 75018 Paris, France
www.mondeca.com
Follow us on Twitter : @mondecanews <http://twitter.com/#%21/mondecanews>
Received on Monday, 10 September 2012 14:37:16 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:51 GMT