Ontologies: validation or reasoning
Information about the structure of an ontology can be used for two different purposes: either for validation or for reasoning, and this is a distinction that it seems most people are not aware of yet. I'll try to clear up the confusion in this blog posting, as best I can.
sheep-1 and sheep-2 |
Simplistic distinction
Let's assume that we have an ontology that contains the association type creator-of with the role types creator and creation. Let's further assume that we have a constraint (represented with TMCL, for example) that states that only topics of type person can play the role of creator. Now, if we encounter the following topic map (in LTM), what should happen?
creator-of(black-thing : creation, sheep-1 : creator) [sheep-1 : sheep = "Sheep number 1"]
There are two possible answers here, depending on whether the constraints are being used for validation or for reasoning. If they are being used for validation, the validator will see that in this case the player of the creator role is not a person, and so it will consider the topic map invalid, and complain about our one creator-of association. However, if we had used the constraints for reasoning the reasoner would have assumed that the instance data was correct, and inferred that sheep-1 is not just a sheep but also a person.
Adding the shades of grey
At this point it sounds as though there is a black-and-white distinction between the two scenarios, but this is not the case. Let's say that we extend the example topic map above with the following information:
supertype-subtype(person : supertype, farmer : subtype) [farmer-giles : farmer = "Farmer Giles of Ham"] creator-of(barn-x : creation, farmer-giles : creator) tmcl:disjoint-with(sheep : tmcl:disjoint, person : tmcl:disjoint)
In this case, the validator would have accepted the second creator-of association, because it would have used reasoning to work out that since farmer-giles is a farmer he must also be a person, even if this is not stated explicitly, and so he conforms to the constraint.
What's interesting is that in this case the reasoner would have detected that there is a problem with the first creator-of association, because it implies that sheep-1 must be a person, but this is inconsistent with the information we already have about it being a sheep (because of the disjoint-with association), and so something must be wrong somewhere.
In other words: validation does some reasoning, and reasoning does some validation. The difference lies in the emphasis more than anything else.
RDFS, OWL, TMCL
At this point, RDFS and OWL only have reasoning semantics, but no validation semantics. It seems that TMCL will have only validation semantics, and no reasoning semantics. My personal opinion is that TMCL has gotten this right, while RDFS and OWL have not. The reason is that the most common business requirement is to be able to verify that the data in the topic map (or RDF model) is correct, and a constraint language with validation semantics is the best way to achieve this. An ontology language with reasoning semantics does some of the same, but not enough.
Of course, I'm not trying to say that reasoning is useless, only that I think validation is more important. This implies, of course, that we may want to create a reasoning semantics for TMCL at some point, but also that at the moment validation semantics is the main thing.
Similar posts
ISO meeting in Leipzig
Since nearly all the key people in the ISO committee were going to be in Leipzig anyway for TMRA 2006 it was decided to have an ISO meeting in conjunction with the conference
Read | 2006-10-15 17:57
Semantic Web adoption and the users
A hot topic at ESWC 2013, and many other places besides, was the issue of Semantic Web adoption, which after a decade and a half is still less than it should be
Read | 2013-10-18 15:43
The Prague meeting
The ISO SC34 meeting in Prague was a big affair with five different working groups and many attendees
Read | 2009-04-02 10:50
