W3C home > Mailing lists > Public > public-lod@w3.org > June 2010

RE: 'owl:Class and rdfs:Class' vs. 'owl:Class or rdfs:Class'

From: Michael Schneider <schneid@fzi.de>
Date: Wed, 16 Jun 2010 15:23:01 +0200
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A001E9A317@judith.fzi.de>
To: "Bob Ferris" <zazi@elbklang.net>
Cc: "Semantic Web" <semantic-web@w3.org>, "Linked Data community" <public-lod@w3.org>
Hi Bob!

I would like to note that if you have an ontology given in RDF graph form,
which declares classes exclusively by rdfs:Class, then this ontology will
not be valid in OWL 2 DL (see below for a technical justification). On the
other hand, the OWL 2 Mapping to RDF Graphs [1] offers explicit treatment
for the case that classes are declared by both rdfs:Class /and/ owl:Class
(see Table 5 in Sec. 3.1.2 of [1]). So, with the double-declaration you are
safe in OWL 2 DL (and anyway with owl:Class solely, of course). If FOAF was
about being OWL DL friendly, this might be an explanation for the
double-declaration. :-)


For your interest, here is a technical justification, why rdfs:Class alone
does not work in OWL 2 DL. Consider the following example ontology:
 
  (1a) _:x rdf:type owl:Ontology .
  (1b) ex:c rdf:type rdfs:Class .

The reverse mapping of RDF graphs [1] into the OWL 2 Structural
Specification [2] does not recognize triple (1b) as a declaration of some
class. There are simply no matching mapping rules for rdfs:Class as the name
of an entity type, except for those cited above, which, however, only match
for double-declarations. A consequence of this is, that the reverse mapping
will confuse triple (1b) with the RDF encoding of a class assertion (!)
according to Table 16 in [1], which would eventually lead to:
 
  Ontology(
    ClassAssertion(rdfs:Class ex:c)
  )

However, this does not really work, since the alleged class "rdfs:Class" has
not been declared as a class anywhere in the ontology. This missing class
declaration will make the reverse mapping fail. 

And if it would not fail, then you would get a result that you would not
have intended: a class assertion (an axiom, having semantic meaning) instead
of a class declaration (has no semantic meaning in OWL DL).

I now wonder, whether this was only an oversight and whether one could
simply add mapping rules to the OWL 2 Mapping to RDF Graphs translating all
triples of the form

  x rdf:type rdfs:Class .

to

  x rdf:type owl:Class .

But looking at the original OWL 1 RDF Mapping [3], it's the same: only the
double-declarations are supported. Hm...

Michael

[1] <http://www.w3.org/TR/2009/REC-owl2-mapping-to-rdf-20091027/>
[2] <http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/>
[3] <http://www.w3.org/TR/owl-semantics/mapping.html>

>-----Original Message-----
>From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org]
>On Behalf Of Bob Ferris
>Sent: Wednesday, June 16, 2010 1:09 PM
>To: Linked Data community
>Cc: Semantic Web
>Subject: 'owl:Class and rdfs:Class' vs. 'owl:Class or rdfs:Class'
>
>Hi,
>
>does anyone know of an already defined best practice re. using
>'owl:Class and rdfs:Class' vs. 'owl:Class or rdfs:Class' type definition
>for concepts in ontologies? (I've searched at ontologydesignpatterns.org
>for it, but didn't found something).
>For example the FOAF ontology uses both types in their ontology
>definition [1] (for better reading ;) ). However, I think this depends
>on the evolution of the FOAF ontology, that means it was first defined
>only by using rdfs:Class and owl:Class was added later. On the other
>side, for example the Music Ontology [2] uses only owl:Class for its
>concept definitions (which was design some year later).
>The reason for supporting both is that RDFS only systems are then also
>able to process semantic graphs from ontologies with rdfs:Class typed
>concepts.
>On the other side, modern SPARQL engines, such as this one from the
>Virtuoso Server [3], are able to handle transitivity - a feature, which
>is very important re. ontologies (I think).
>
>Cheers,
>
>Bob
>
>
>[1] http://www1.inf.tu-dresden.de/~s9736463/ontologies/FOAF_-
>_20100101.n3
>[2] http://motools.sourceforge.net/doc/musicontology.n3
>[3] http://virtuoso.openlinksw.com/features-comparison-matrix/

--
Dipl.-Inform. Michael Schneider
Research Scientist, Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: michael.schneider@fzi.de
WWW  : http://www.fzi.de/michael.schneider
=======================================================================
FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts, Az 14-0563.1, RP Karlsruhe
Vorstand: Prof. Dr.-Ing. Rüdiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
=======================================================================
Received on Wednesday, 16 June 2010 13:23:55 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 31 March 2013 14:24:27 UTC