Team Ontology

The teams ontology contains some classes describing people and sports teams. There are two individuals described, Chris and Sam, who are married and both play for the same Team. Using the reasoner we can calculate some inferred classes that the individuals may be instances of. The ontology is shown below

Namespace(rdf	= <http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Namespace(xsd	= <http://www.w3.org/2001/XMLSchema#>)
Namespace(rdfs	= <http://www.w3.org/2000/01/rdf-schema#>)
Namespace(owl	= <http://www.w3.org/2002/07/owl#>)
Namespace(a	= <http://owl.man.ac.uk/2005/sssw/teams#>)

Ontology( <http://owl.man.ac.uk/2005/sssw/teams>

 ObjectProperty(a:hasMember
  inverseOf(a:isMemberOf))
 ObjectProperty(a:isMarriedTo
  inverseOf(a:isMarriedTo)
  domain(a:Person)
  range(a:Person))
 ObjectProperty(a:isMemberOf
  inverseOf(a:hasMember))

 Class(a:Female partial 
  a:Person
  restriction(a:isMarriedTo allValuesFrom(a:Male)))
 Class(a:Male partial 
  restriction(a:isMarriedTo allValuesFrom(a:Female))
  a:Person)
 Class(a:MarriedPerson complete 
  intersectionOf(restriction(a:isMarriedTo someValuesFrom(owl:Thing)) a:Person))
 Class(a:MixedTeam complete 
  intersectionOf(restriction(a:hasMember someValuesFrom(a:Male))
                 restriction(a:hasMember someValuesFrom(a:Female)) a:Team))
 Class(a:NonSingletonTeam complete 
  intersectionOf(restriction(a:hasMember minCardinality(2)) a:Team))
 Class(a:Person partial 
  owl:Thing
  unionOf(a:Female a:Male))
 Class(a:SingletonTeam complete 
  intersectionOf(restriction(a:hasMember cardinality(1)) a:Team))
 Class(a:Team partial)
 Class(owl:Thing partial)

 Individual(a:Chris
  type(a:Person)
  value(a:isMarriedTo a:Sam)
  value(a:isMemberOf a:OntologyFC))
 Individual(a:OntologyFC
  type(a:Team))
 Individual(a:Sam
  type(a:Person)
  value(a:isMarriedTo a:Chris)
  value(a:isMemberOf a:OntologyFC))
)
OntologyFC is a MixedTeam

OntologyFC is a MixedTeam, even though we don't know anything specific about the sex of Chris and Sam.

We're seeing here an example of the reasoner being able to perform some reasoning over cases across a disjunction. All instances of Female must be instances of Person due to an assertion. Similarly, all instances of Male must be instances of Person. We also have a necessary condition asserted on Person that says that all instances of Person must be either Male or Female.

Female has a necessary condition that all instances related via the isMarriedTo property must be Male (this is a conservative view of the world!). Similarly, instances of Male can only be married to instances of Female.

We can now reason on a case by case basis. Either Chris is Male, in which case Sam is Female, or Chris is Female and Sam is Male. In both cases, OntologyFC has both Male and Female members. However, we still don't know whether Chris is Male or Female!

OntologyFC is not a NonSingletonTeam

We might expect this to be the case as both Sam and Chris are members, but it is not. Why not?

Of course the answer here is that we've failed to specify a crucial assumption in our ontology -- the disjointness of Male and Female. By default, OWL makes no assumptions about whether primitive classes are disjoint. We may have implicit assumptions in our minds about whether or not we think that the concepts Male and Female are disjoint, but we must be explicit about representing this information in our ontology. Thus a perfectly acceptable interpretation here is that Sam and Chris are the same person, and thus OntologyFC is only known to have at least one member.

If we add the extra disjointness statement about Male and Female, then the reasoner will be able to determine that the set of instances of Male and the set of instances of Female must be distinct. Thus any team that has a Male member and a Female member must have at least 2 members, and thus is a NonSingletonTeam. Note that this inference doesn't depend on Chris and Sam. Once we introduce the disjointness constraint between Male and Female, any MixedTeam must be a NonSingletonTeam. You can try this out by loading the ontology into an editor that provides reasoning services. You will note that even after reasoning, MixedTeam is not classified as a subclass of NonSingletonTeam. If you then add a statement that Male and Female are disjoint, then MixedTeam will be a subclass of NonSingletonTeam.

This illustrates that in our modelling of the world when using OWL, we have to be explicit about the assumptions and background knowledge in our ontology. These models are intended for machine consumption, and machines know nothing at all about the fact that Male and Female are disjoint, even though it may be ``obvious'' to us.

It's also an illustration that subsumption relationships between classes may be the result of a number of different assertions.

Alternatively, we could assert that Chris and Sam are distinct. Recall that the semantics of OWL does not make the Unique Name Assumption — just because the two individuals have different names, we cannot be sure that they are different. Adding this assertion to the model will result in OntologyFC being inferred as an instance of NonSingletonTeam (try this). Note that in this case, however, the general inference between MixedTeam and NonSingletonTeam is not made.