[Top] [All Lists]

Re: [ontolog-forum] The notion of a "classification criterion" as a clas

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: doug foxvog <doug@xxxxxxxxxx>
Date: Fri, 16 Apr 2010 22:01:29 -0400
Message-id: <4BC91679.5050705@xxxxxxxxxx>
On 4/15/2010 5:27 PM, Pat Hayes wrote:
Allow me to suggest you are making a basic error in this approach. Details below, in-line.

On Apr 15, 2010, at 2:30 PM, Benedicto Rodriguez wrote:

Hello everyone,
Apologies for cross-posting but I thought the email might be relevant to both mailing lists:ontolog-forum@xxxxxxxxxxxxxxxx and public-owl-dev@xxxxxx.
I am trying to put together an ontology design pattern (or combination of patterns) with the intent of modeling multiple alternative classification criteria of a domain concept.  At this point, I have to commit my focus to OWL (or more specifically, to an expressivity level within OWL-DL).
In the process I have come across what I think it is an interesting modeling scenario. Let me use a simple example to describe it extracted from [1].  Consider the following set of classes (as a subset of a larger ontology model) in the popular domain of "family relationships" organized according to the following subsumption hierarchy:
    |-- :Man
    |-- :Woman
    |-- :Parent
    |-- :Child
    |-- :Sibling

I am not sure what is meant by the class, Child.  This could mean every person under a certain age,  or any person who
has a living parent.  Parent and Sibling, as classes, could mean those who have ever had a child/sibling or those who currently
have one.
We could argue that this inheritance structure is not satisfactory because different concepts are represented by classes at the same level. 

You could argue that, but to do so would reveal a misunderstanding about the nature of class subsumption in OWL (and similar languages). Classes in OWL are purely extensional: they are simply *sets* of things (in this case, of people).

Since the membership of OWL classes is different at different times, while the membership of sets never changes, there seems
to be an important distinction. However, since OWL-DL reasoning does not deal with temporal reasoning, so for such purposes,
they can be treated as sets.
That is, the concept of gender, represented by the classes :Man and :Woman, and the concept of kinship relationships, represented by the classes :Parent, :Child and :Sibling.  In that sense, the concepts of gender and kinship could be seen as two different classification criteria for all the subclasses of :Person.

Agreed, these are two different classification criteria.  However, relationships could be more fully modeled with binary relations
than with classes.

Indeed, they could be so described. However, all these subclassifications define subclasses of Person in the *same sense* of subclass. The fact that Man is a gender-based subcategory and Child is a kinship-based subcategory, while interesting, does not imply that the *relationships* between the classes Person and Man, and between Person and Child, are intrinsically different. They are not: they are both simply subsumption.

Sure, in a logical sense of *same sense*.  But this does not dispute that the subclass selection is based on different classification

Which is why...
The issue that I am trying to solve deals with how to incorporate the representation of these classification criteria concepts into the ontology model.
An initial approach (kind of intuitive to me) would be two represent the two classification criteria as classes (say :PersonByGender and :PersonByKinship) and regroup all the subclasses of :Person accordingly.

These classification criteria, if modelled by classes are meta-classes.  I.e., classes of classes.  Since their instances/
members are classes, they are *not* subclasses of Person, whose instances are not classes.  OWL-DL does not
allow one to model meta-classes.  OWL-FULL can be used to do so.
The result would look like:
    |-- :PersonByGender
    |   |-- :Man
    |   |-- :Woman
    |-- :PersonByKinship
        |-- :Parent
        |-- :Child
        |-- :Sibling

.... this is a basic mistake.

... one that a restricted language like OWL-DL encourages, by disallowing meta-classes.

To see why, ask yourself what could be the membership criterion for the category PersonByGender. Remember, this has to be a set, determined solely by its members, not by any other meta-property that it might be thought to have. But something is a PersonByGender
... in this faulty model ...
exactly when they are a Person (barring, perhaps, some medical abnormalities) and also is a PersonByKinship exactly when they are a Person
... in this model
. So these classes are all identical, when considered as sets. And in OWL-DL, at any rate, one is obliged to treat them as sets, by the semantic rules of the language. 

However, I see a conceptual problem with this model regarding the subsumption relation between :Person and the classification criteria classes :PersonByGender and :PersonByKinship, given that:
- Who would be the individuals of classes such as :PersonByGender and :PersonByKinship?


For example, if we consider :John and individual of type :Man, we can say that :John is also of type :Person.  But does it make sense to say that :John is of type :PersonByGender???
- Are these classes :PersonByGender and :PersonByKinship in fact meta-classes?

Yes, they are.  And they are not subclasses of Person.  Their instances are subclasses of person.

I have no idea what a meta-class is, in your view. But if they are OWL classes, then they are identical to the OWL class Person.

If OWL-DL is used, this is correct.  But if OWL-FULL were used, they could be classes of classes (meta-classes),
which are distinct from (and not subclasses of) Person.

So I would suggest that this is not a useful design.


What I think you might find more useful (though it cannot be encompassed in OWL-DL) would be to classify the properties, a restriction on which defines the classes in question. Thus, if we were to say that Man is the restriction of hasGender to Male,

... plus a restriction on hasAgeInYears to greater than 17 (or whatever the context requires).
for example, and that Parent is a hasValue restriction in the hasChild property, then it would be these properties which characterize the various classification  criteria with which your began. But this is just a suggestion.

Pat Hayes

(If I could use an analogy with object-oriented design, it is as if these two classes could be seen as abstract or deferred classes).
This type of modeling scenario can be found in many concepts from various domains (essentially any concept whose individuals/instances could be grouped according to multiple different classification criteria). Below is another popular example in the OWL literature modified to fit into the same scenario and illustrate the problem [2]:

Reference [2] does not have classes WineByColor and WineByGrape.
    |-- :WineByColor
    |   |-- :WhiteWine
    |   |-- :RedWine
    |   |-- (etc.)
    |-- :WineByGrape
         |-- :PinotGrigioWine
         |-- :MerlotWine
         |-- :CabernetSauvignonWine
         |-- (etc.)
In this case the classification criteria of :Wine are wines based on their color and wines based on their type of grape.  Like in the example of :Person, the classification criteria classes :WineByColor and :WineByGrape seem intuitive choices to group the rest of all subclasses of :Wine. 

I believe that is the same mistake.

If they were expressed as subclasses of Wine, yes.  But they can not be found in [2]. 

Texts referring to this ontology do sometimes use such categories, and often in faulty
ways.  Generally, they treat the wine types as instances of WineByColor and WineByGrape.
They also often treat wine brands as instances of the various wine types, despite the fact
that the brands, in the real world, have their own instances.

However, the subsumption relation between :Wine <-  :WineByColor and :Wine <- :WineByGrape seems problematic.

Correct.  This would be faulty.

Who would be the individuals of classes such as :WineByColor or :WineByGrape?

  The instances of  :WineByColor would be:
    |   |-- :WhiteWine
    |   |-- :RedWine
    |   |-- (etc.)

The instances of  :WineByGrape would be:
         |-- :PinotGrigioWine
         |-- :MerlotWine
         |-- :CabernetSauvignonWine

 In general terms, the subsumption relation between a :DomainConcept and a :ClassificationCriterion for that concept seems a bit controversial.  For example, It does not seem to fit into one of the 4 kinds of is-a relations defined by Johansson[3] plus  I think it would violate the constraints of the OntoClean evaluation as well.  (Even though, for the most part I understand the theory behind the OntoClean method and I think it is very useful, I personally find it a bit difficult to apply coming from a software developer background).
In summary, after this lengthy introduction, below are the questions that I am trying to answer:
- Are subsumption relations such as :Person <- :PersonByGender or :Wine <- :WineByGrape acceptable?

Well yes, but only in a trivial sense. I suspect that for the purposes you have in mind, the answer is no.

I would agree that the answer is no.

 - Can classes such as :PersonByGender or :WineByGrape be “correctly” represented in the ontology model

In the appropriate language, yes.  In OWL-DL,they can not be represented by classes.

  That is, classes that correspond to a “classification criterion” and that may not have individuals (or extensional representation) in the real world.

If they have no individuals then they are the empty class, which is also probably not what you want.

They have no *individuals* as instances, but they have *classes* as instances.  One could argue that
the *classes* don't exist in the real world but the instances of the classes are individuals in the real world.

 - Are there some guidelines or good-practices on how to represent concepts that correspond to a classification criterion” of the domain concept that is being modeled?


This is done in higher-order ontology languages such as Cyc.  See [3] or [4].

[3] "Instances of Instances Modeled via Higher-Order Classes", d. foxvog; Foundational Aspects of Ontologies (FOnt 2005), 28th German Conference on Artificial Intelligence, Koblenz, Germany, September, 2005, ISSN 1860-4471, pp. 46-54.

[4] TAO - Theory and Applications of Ontology. Volume II: Ontology: The Information-Science Stance, eds.: Michael Healy, Achilles Kameas, Roberto Poli; Springer Berlin / Heidelberg, June 2010. [in Print]

-- doug foxvog

Thanks a lot for any comments you may have!
(For the record, I'll mention that this work is part of my PhD research.  One aspect of the overall idea is trying to adapt faceted classification design guidelines to ontology design.  The notion of “facet” and “classification criterion” seem to be fairly similar. Identifying a reasonable representation of a “classification criterion” in an ontology can help to bridge the gap between these two design methodologies and that’s the reason for the examples above.  Finally, I would like to present if possible, the overall outcome as an ontology design pattern or combination of them).
Bene Rodriguez-Castro
Postgraduate Student | Intelligence, Agents and Multimedia Group | School of Electronics and Computer Science | University of Southampton | Southampton SO17 1BJ | United Kingdom | Phone: +44 23 8059 4059 | Email: b.rodriguez@xxxxxxxxxxxxxxx
[3] Ingvar Johansson. Four kinds of is_a relations: genus-subsumption, determinable-subsumption, specification, and specialization. In WSPI 2006: Contributions to the Third International Workshop on Philosophy and Informatics, Saarbrucken, 2006.

IHMC                                     (850)434 8903 or (650)494 3973   
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

_________________________________________________________________ Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/ Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/ Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx Shared Files: http://ontolog.cim3.net/file/ Community Wiki: http://ontolog.cim3.net/wiki/ To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (01)

<Prev in Thread] Current Thread [Next in Thread>