W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2010

RE: class and inviduals

From: Michael Schneider <schneid@fzi.de>
Date: Wed, 17 Nov 2010 16:56:00 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A00235B092@judith.fzi.de>
To: "Rinke Hoekstra" <hoekstra@few.vu.nl>, "Pavel Klinov" <pklinov@cs.man.ac.uk>
Cc: <public-owl-dev@w3.org>, "Pat Hayes" <phayes@ihmc.us>, "Marco Colombetti" <colombet@elet.polimi.it>
Hi Rinke, Pavel!

>-----Original Message-----
>From: public-owl-dev-request@w3.org [mailto:public-owl-dev-
>request@w3.org] On Behalf Of Rinke Hoekstra
>Sent: Wednesday, November 17, 2010 11:14 AM
>To: Pavel Klinov
>Cc: Pat Hayes; Marco Colombetti; public-owl-dev@w3.org
>Subject: Re: class and inviduals
>Hi Pavel,
>On 16 nov 2010, at 17:50, Pavel Klinov wrote:
>> As for OWL 2, I do agree with Enrico. Punning is a not quite a logical
>> pattern - it's a meta-modeling feature and has to be used with care.
>> If you pun an object X and a class X they will still be treated as
>> separate entities by a reasoner ("X-as-class" and "X-as-individual" if
>> you will). It can be confusing, for example, one may place a data
>> property assertion on X (as an individual) and then wonder why other
>> instances of X (as a subclass) do not inherit that property.
>This is indeed what happens if you use punning. However, if you
>interpret it as OWL 2 Full (without punning), the inheritance wouldn't
>occur either.

I have to admit that I did not exactly understand what Pavel meant here. 

Was it meant that it would be confusing if sub classes of a given class do
not inherit all the class's properties? Indeed, this is not the case in OWL
Full as well. But I would not expect this to follow from any form of
metamodeling, since, if this would hold, then the empty class (being a sub
class of every class) would inherit /every/ property of every class. That
would be confusing to me! (However, if someone really wanted this behavior
for some specific property :p, he could write in OWL 2 Full: ":p
owl:propertyChainAxiom ( rdfs:subClassOf :p ) .")

Or was it meant that it would be confusing if for a class having a class
property its /instances/ would not inherit that property? That's in fact
also not in OWL Full! But I would never expect such inheritance from the
class level to the instance level, at least not in general. The property
belongs to the class, not to its instances. (However, if someone really
wanted this behavior for a specific property :p, he could write in OWL 2
Full: ":p owl:propertyChainAxiom ( rdf:type :p ) .")

>The fact that some language feature may be confusing is not a very good
>general argument against using it.
>> At the
>> same time other tools, like Protege, may give a false impression that
>> "these are really the same thing".
>Hm, but for all practical purposes they *are* the same thing, they are
>just interpreted differently dependent on context. 

For individual/class punning, OWL 2 DL interprets the same name in one case
as an individual of the domain of discourse, and in the other case as a
subset of the domain of discourse. This is a big difference from a semantics
point of view. Now, OWL 2 Full interprets both occurrences as individuals,
in fact as the same individual. The only difference is that in the case of
class usage, an additional feature of that individual is taken into account,
namely its associated class extension, which is a subset of the domain of
discourse. But one definitely talks about one and the same individual in
both cases. And, as you can see in the example at the end of my post, this
may indeed lead to practically sensible differences.

>OWL 2 DL reasoners
>may separate these contexts for efficiency purposes, but an RDFS/OWL 2
>Full reasoner or RDF query engine won't.

It's not only a matter of efficiency in the case of OWL 2 DL reasoners. They
must not provide those inferences that you would expect from treating the
two occurrences as the same thing, otherwise they would become unsound. See
below for an example.

>This is fine if you ask me... I have yet to come across a situation
>where this potential confusion had any practical consequences.

You can see the difference in the LOD cloud. For example, OpenCyc includes
the concepts "country" and "England", where "England" is an instance of
"country", and where "country" is asserted to be equal to DBPedia's
"Country" concept (the equality link is being created in both knowledge

    opencyc:country owl:sameAs dbpedia:Country .
    opencyc:England rdf:type opencyc:country .


    opencyc:country :=
    opencyc:England :=
    dbpedia:Country := <http://dbpedia.org/resource/Country>

An OWL Full reasoner and many existing RDF rule reasoners (including all
reasoners implementing the OWL 2 RL/RDF rules) will infer from the equality
link that

    opencyc:England rdf:type dbpedia:Country .

holds. OWL 2 DL reasoners, on the other hand, must not infer this in order
to avoid to become unsound. And, in fact, Pellet and Hermit correctly (from
their perspective) classify this as a non-entailment.

With owl:sameAs links being a big topic in the LOD world, I'd say this is a
practically relevant difference!



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, 17 November 2010 15:56:37 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:58 GMT