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:
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 . 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:
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).
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.
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.
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. The result would look like:
.... this is a basic mistake. 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 exactly when they are a Person (barring, perhaps, some medical abnormalities) and also is a PersonByKinship exactly when they are a Person. 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?
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. 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, 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.
(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 :
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.
However, the subsumption relation between :Wine <- :WineByColor and :Wine <- :WineByGrape seems problematic. Who would be the individuals of classes such as :WineByColor or :WineByGrape?
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 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.
- Can classes such as :PersonByGender or :WineByGrape be “correctly” represented in the ontology model? 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.
- 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?
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).
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
 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