- From: Michael Schneider <schneid@fzi.de>
- Date: Wed, 17 Nov 2010 16:56:00 +0100
- 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 bases): opencyc:country owl:sameAs dbpedia:Country . opencyc:England rdf:type opencyc:country . where opencyc:country := <http://sw.opencyc.org/concept/Mx4rvViIeZwpEbGdrcN5Y29ycA> opencyc:England := <http://sw.opencyc.org/concept/Mx4rvViWaZwpEbGdrcN5Y29ycA> 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! >Cheers, > >Rinke Cheers, Michael -- 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 UTC