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

Re: Vocabulary (ontology) URI vs namespace

From: María Poveda <mpoveda@delicias.dia.fi.upm.es>
Date: Mon, 10 Sep 2012 16:09:34 +0200
Message-ID: <CA+mx6Z2JuSks3fBZLccv6fe3xwBKskiBFDqfPCQ4DHCywoy-9g@mail.gmail.com>
To: Bernard Vatant <bernard.vatant@mondeca.com>
Cc: Semantic Web <semantic-web@w3.org>, Pierre-Yves Vandenbussche <pierre-yves.vandenbussche@mondeca.com>
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
>
Received on Monday, 10 September 2012 15:13:59 GMT

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