Higher Order Knowledge in Ontologies
In this k-blog we look at another kind of statement found in an ontology, higher order knowledge. In this case it is orientated about statements about the class, rather than the instances of the class, which is the norm in an ontology.
Robert Stevens and Alan Rector
bioHealth Informatics Group
School of Computer Science
University of Manchester
First order knowledge describes individuals. In OWL we describe the individuals themselves or classes where we describe things that are true of all individuals in a class. We often, however, wish to describe other knowledge about the class, not only the individuals in that class. These are not metadata about the class, but extra knowledge about the class, rather than knowledge about the individuals of that class. For example, the class Electron is the anti-particle of the class Positron. We do not wish to say that each instance of the class Electron has an anti-particle of a Positron; that is simply wrong at many levels.
Instead, we need to say things about the class, not its individuals. This is second order knowledge; a kind of higher order knowledge. Higher order statements are always, in some sense, about classes – that’s what makes them higher order, although they may, of course, also contain statements about individuals related to those classes.
We can see examples of this kind of second order knowledge in basic chemistry:
- The discovery year for an element; we do not wish to say that all individual francium atoms were discovered in 1939. However, we may wish to say that the category Francium was discovered in 1939.
- The positron and electron example given above.
- Constraining a class MoleOfPureAtom to have only one type of atom. This can be done for specific atoms — a mole of sodium is made of some and only hydrogen atoms. Doing this for the general MoleOfAtom is more difficult: MoleOfAtom is made of some and only Atom cannot constrain the class to be made of only one type of atom. Using exactly 1 simply says there is at least one atom in the mole, not that it has only one type of atom. We need to make a statement about the class, not its individuals.
- Diamond is an allotroph of graphite. We don’t need to say that each instance of diamond is an allotroph of some instance of graphite. It is something we want to say about the classes themselves.
We need a mechanism to describe the hier order knowledge. OWL is poor at modelling and reasoning about such higher-order knowledge. As stated, it really only does first order statements, though OWL 2’s punning comes closer and OWL’s annotation properties allow statements to be made about statements, but without exposing such statements to reasoning etc.
OWL2’s puns are a mechanism for making higher order statements. In OWL2, an individual can be created that has the same URI as the class. As well as holding metadata about the class, this “punned’ individual can be used to make higher-order statements about a class. Taking our Electron example; A pun also called Electron can be created. If there is another class and pun called Positron a relationship can be made between the two puns of isAntiparticleOf (with the characteristic of being symmetric). This is a statement about the class Electron and not the instances of Electron. Higher-order reasoning is, however, outside the world of OWL and puns can be queried, but not submitted to OWL’s usual automated reasoners.
An ontology contains (or at least should contain) so much more than the axioms describing the instances of a domain. It should contain metadata that describes the ontology as an artefact. Elsewhere, we have described 3 kinds of metadata in ontologies. We have also described higher-order knowledge, statements about the classes in an ontology where the usual axioms are just about the individuals of a domain. Each of these types of metadata and higher-order knowledge are an important part of modelling a domain. In addition, we should note that higher order domain knowledge should not be confused with metadata. Higher order domain knowledge is about the categories themselves e.g. Who first described a disease, whether a species is endangered, etc. whereas the first order knowledge that makes up the main body of Domain Knowledge is about the members of the categories e.g. patients with diabetes, etc. Higher order domain knowledge is about the domain rather than the information artefact. In OWL all of these statements can be syntactically represented as annotations and call them “metadata”, but there is a distinction that should be made between them.