Re: Vocabulary (ontology) URI vs namespace

Bernard,

Great and useful work, thanks!

> So my question is : should the practice of examples 1 and 2 be recommended as the best one, namely :

My 2c (from the VoID spec):

http://www.w3.org/TR/void/#vocabularies

Cheers,
	   Michael

--
Dr. Michael Hausenblas, Research Fellow
DERI - Digital Enterprise Research Institute
NUIG - National University of Ireland, Galway
Ireland, Europe
Tel.: +353 91 495730
http://mhausenblas.info/

On 31 Aug 2012, at 12:19, Bernard Vatant 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 Friday, 31 August 2012 11:31:32 UTC