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

Re: Vocabulary (ontology) URI vs namespace

From: Yves Raimond <yves.raimond@gmail.com>
Date: Tue, 11 Sep 2012 11:35:23 +0100
Message-ID: <CAA2+3GKL-QZax84dV4YAezGKSGnvqJsCmmGiobTtNULOu2oa3g@mail.gmail.com>
To: María Poveda <mpoveda@delicias.dia.fi.upm.es>
Cc: Bernard Vatant <bernard.vatant@mondeca.com>, Semantic Web <semantic-web@w3.org>, Pierre-Yves Vandenbussche <pierre-yves.vandenbussche@mondeca.com>
Hello!

On Mon, Sep 10, 2012 at 3:09 PM, María Poveda
<mpoveda@delicias.dia.fi.upm.es> wrote:
> 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.

I am bit confused about that - where do you see them defined as
functional? They shouldn't be, and I can't find this statement neither
in the HTML spec, neither in the Turtle and RDF/XML.


>
>   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.

You should be able to get to the latest Turtle using content negotiation, e.g.

$  curl -H"Accept: application/turtle"
http://purl.org/NET/c4dm/event.owl -L | vim -
(which doesn't have any functional property)

Best,
Yves

> 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 Tuesday, 11 September 2012 10:35:56 GMT

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