OWL URI and namespace, an issue for LOV.

Hi all

Sorry this looks like a permathread on namespaces and URIs, but hopefully
someday someone will come out with a definitive and convincing explanation
which will enlighten my old brain.

We've been looking more closely in the OWL namespace publication, for
inclusion into LOV cloud [1]. We'd been reluctant so far to include RDF,
RDFS and OWL RDF schemas as ordinary LOV citizens, because of their
particular status, but we are now experimenting it, in order to capture
some information on how various vocabularies use RDFS or OWL, for example.
In LOV we have some pragmatic rules, which are as difficult to figure as to
enforce, to find out the vocabulary URI and the vocabulary namespace. They
can be the same, or quite the same (differing by a final # or /, for
example), or completely different. In the best of worlds, the vocabulary
URI and the vocabulary namespace dereference ultimately to the same RDF
file.
Sometimes, the vocabulary URI dereferences, but not the namespace (in case
of purl URIs, crazy things happen etc)

We tend to trust what the vocabulary publisher declares, if it's
consistent. If the vocabulary RDF file contains one predicate (?uri a
owl:Ontology), and ?uri is dereferencing properly with or without conneg to
the said file, we take ?uri to be the vocabulary URI.
In the case of OWL either http://www.w3.org/2002/07/owl or
http://www.w3.org/2002/07/owl# dereference to the same Turtle file, in
which one can read :

<http://www.w3.org/2002/07/owl> a owl:Ontology   (A1)

So far so good. From the previous rule, we take
http://www.w3.org/2002/07/owl to be the vocabulary URI, and
http://www.w3.org/2002/07/owl# the associated namespace (defined in the
prefix declarations).

But, in the OWL elements definition, we read e.g.,

owl:Class a rdfs:Class ;
     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#>

One would expect http://www.w3.org/2002/07/owl as the object of
rdfs:isDefinedBy, to be consistent with (A1) above.

It figures :
- Are http://www.w3.org/2002/07/owl# and http://www.w3.org/2002/07/owl
equivalent URIs? IOW should a RDF application (e.g., the LOV-Bot) consider
them as the same resource?
- If no, what is the rationale of using one here and the other there?
- If yes ... same question :)

In the current state of affairs, in LOV we add automatically in the
back-end triple store a triple
(?x  rdfs:isDefinedBy  ?uri) to every element ?x (class or property) found
in a vocabulary, with ?uri being the vocabulary URI as above defined. Those
triples add to the ones already declared in the vocabulary itself, if any
(most of the time there are no such declarations).

In the OWL case we will eventually have in the triple store the two
following triples, one declared and the other one inferred :

owl:Class rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#>
owl:Class rdfs:isDefinedBy <http://www.w3.org/2002/07/owl>

This is noisy at best. The question is : should LOV change its rules
regarding namespaces and URIs, or is the OWL schema broken?

Thanks for your attention

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

*Bernard Vatant*
Vocabularies & Data Engineering
Tel :  + 33 (0)9 71 48 84 59
 Skype : bernard.vatant
http://google.com/+BernardVatant
--------------------------------------------------------
*Mondeca*
35 boulevard de Strasbourg 75010 Paris
www.mondeca.com
Follow us on Twitter : @mondecanews <http://twitter.com/#%21/mondecanews>
----------------------------------------------------------

Received on Tuesday, 17 June 2014 13:11:31 UTC