An exploration of the relationship between subproperties and property characteristics, in particular transitivity.
Information Management Groups
School of Computer Science
University of Manchester
Transitive properties can be very useful in ontologies. Recall that a property
P is transitive if and only if the following is true:
* For all
An example of a transitive property is “ancestor”. Any ancestor of an ancestor of mine is also an ancestor of mine. OWL provides us with an axiom for stating that a particular property is transitive.
ObjectProperty: ancestor Characteristics: Transitive
The notion of subproperties are also useful. For a property
R is a subproperty if and only if
* For all
An example of a subproperty relationship is “hasParent” and “hasFather”. Any two individuals that are related via the father relationship must be related via the parent relationship.
ObjectProperty: hasParent ObjectProperty: hasFather SubPropertyOf: hasParent
Sometimes there is confusion over the way in which characteristics like transitivity interact with the sub/super property hierarchy. As far as transitivity is concerned, the characteristic is not “inherited” by sub-properties — we cannot infer that the sub property of a transitive property is transitive. The same holds for super properties.
To illustrate this, consider the following example. We have three (object) properties:
marriedTo. One of these (
hasFriend) is transitive (now you might question this as a piece of modelling, but please just go with my rosy world-view that all the friends of my friends are also friends), and the properties are arranged in a hierarchy. In Manchester syntax we would have:
ObjectProperty: knows ObjectProperty: hasFriend Characteristics: Transitive SubPropertyOf: knows ObjectProperty: isMarriedTo SubPropertyOf: hasFriend
And yes I know that expecting marriage to imply friendship is again hopelessly optimistic, but I’m a hopeless optimist.
Now, consider a domain with four elements,
Daphne. They are related as follows:
The situation is as pictured below.
If we look at the ontology presented above, we can see that all the axioms hold — the subproperty axioms are being respected, as is the transitivity of hasFriend. Thus this situation is a model of the ontology.
Now if we consider
isMarriedTo, we can see that our conditions for transitivity do not hold. There are three elements with
isMarriedTo(Charlie,Daphne), but we do not have
isMarriedTo(Betty,Daphne). So we cannot infer that
isMarriedTo is transitive from the axioms. Similarly, there are three elements where
knows(Betty,Charlie) but we don’t have
Recall that the inferences we can make from an ontology or collection of axioms are those things that necessarily hold in all models of the ontology. This little sample model provides us a “witness” for the fact that we cannot infer that
knows is transitive from the axioms. Similarly, we cannot infer that
isMarriedTo is transitive.
Of course, this is just saying that we can’t in general make such an inference. We are not saying that superproperties cannot (sometimes) be transitive. If we add to our interpretation the fact that
Daphne, then in this interpretation, knows is indeed transitive. And if we allow
Betty to marry
Daphne — hey, it’s 2013! — then we have a transitive subproperty (in this interpretation).
On the topic of transitivity and sub properties, the thesaurus representation SKOS uses a common modelling pattern, where a non-transitive property (
skos:broader) has a transitive superproperty (
skos:broaderTransitive) defined. The superproperty is not intended to be used for asserting relationships, but can be used to query for transitive chains of
skos:broader relationships (assuming our query engine is performing inference). As we now know, this doesn’t mean that
skos:broader is necessarily transitive.
This pattern is also often used for representing partonomy. Here we would use a (non-transitive)
hasDirectPart for asserting parts of a whole, with a transitive superproperty
hasPart allowing us to query the transitive closure. We can use counting with
hasDirectPart — for example min or max cardinality restrictions — which we would not be able to do in OWL DL if
hasDirectPart was transitive, due to restrictions relating to simple properties (see the OWL2 Structural Specification).
For other property characteristics the situation is different. For example, a subproperty of a functional property must be functional. Why? We’ll leave that as an exercise for the interested reader……