Hello everyone,
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:
:Person
|-- :Man
|-- :Woman
|-- :Parent
|-- :Child
|-- :Sibling
We could argue that this inheritance structure is not satisfactory because different concepts are represented by classes at the same level. 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.
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:
:Person
|-- :PersonByGender
| |-- :Man
| |-- :Woman
|-- :PersonByKinship
|-- :Parent
|-- :Child
|-- :Sibling
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? (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]:
:Wine
|-- :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. 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[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?
- 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.
- 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).
Regards,
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.