SUMO DL

I’ve been working on an OWL DL translation of the knowledge interface format (KIF) Suggested Upper Merged Ontology (SUMO). SUMO already has an OWL version and the SIGMA software will do an automatic translation into OWL. The problem with these is that they are OWL Full, making reasoning over the ontology very slow at best. So I have been translating SUMO to OWL DL as a learning exercise to better understand both SUMO and OWL DL and to use as staging post to for conversion between KIF and OWL projects.

I tried to stick to a few principles during the translation, in priority order:

  1. Use OWL DL
  2. Have a faithful copy of the class hierarchy
  3. Convert restrictions stated in the KIF where possible
  4. Don't add stuff

Any KIF assertion that translates directly to OWL has been converted, this includes: disjoint classes and unions of classes, cardinality restrictions, owl:hasValue restrictions and enumerated classes using owl:oneOf restrictions.

There are many problems in translating to OWL DL and different ways to try and solve them. I have therefore created multiple translations to test these different approaches to solving the problems.

SUMO FULL

The FULL version tries to contain all concepts in SUMO. However many of the classes and properties can not be used as intended in the original SUMO and there is no attempt to solve this. The relations are created as object properties and as instances under a different name.

SUMO n-ary

The major problem with the conversion to OWL DL is how to handle the relationships. Firstly they occur as both instances and relations in SUMO, this is multi-typing is not allowed in OWL DL. Furthermore, SUMO has many non-binary relations and functions; only binary relations are allowed in OWL.

One approach to solve this problem is a standard reification technique using a holding instance and n binary relations represent the original n-ary relations.

We create a class for each relation to group these holding instances - the natural place for these in as subclasses of the class sumo:Relation. To build the n-ary relations we add the binary relation naryObjectPart. Restrictions can then be made to better define the relation. Many relation involve classes or relations, these have been created too but cannot be used as intended without going in to OWL Full. We have left the binary relations as object properties in OWL, but also created a subclass as for the n-ary relations so they could be used in either way. (These could be better defined using a to give the direction of the relation.) We have treated functions as relations, this means the values can be asserted manually or rules can be added to automatically add the functionality and to better difine the functions we use naryObjectPartFnResult.

This changes the definition and use of the sumo:Relation class but the original definition is not in keeping with the usual OWL split between classes and relations.

This is only one approach to converting to DL and it has it's problems. It's difficult to know what relations are an option for a particular class or instance - this can be overcome by creating sub relations of naryRelationPart for each n-ary relation with the appropriate range and domain restrictions. I have done this for a sub section of SUMO while working on a different project but is a lot of work to create.

We have used the sumo relation type classes, such as TransitiveRelation. However, subclass is different to subrelation and this causes some problems as a subrelation of a transitive relation can be intransitive. Where this causes an inconsistency we have resolved it by not subclassing relations. This tends only to happen in the binary relations so can be avioded by using the object properties.

A number of issues remain in these versions. The first main issue is that datatypes aren't used in the way you'd expect in an OWL ontology. For strings and numbers this is easy to solve for binary relations by making all relation from to sumo:Number and sumo:String or their subclasses datatype properties.

Many first order constructions can not be stated in their intended way such as Units.

SUMO DL

The last version is how sumo might have been if it was created orriginally in OWL DL. Where data types can be used the classes have been deleted and the object properties converted. We use binary relations where possible and n-ary relations as above for higher arity relations and functions. Mathematical relations and any that go out of DL have been removed.

Updated Saturday 15th of March 2008

Tags: SUMO OWL