OWL 1.1 Support in TopBraid Composer 2.0
OWL 1.1 is an evolving extension of the Web Ontology Language (OWL). Driven by a world-wide community of researchers, this proposal aims at fixing some of the most frequently encountered limitations of OWL such as the lack of user-defined datatypes, and cumbersome disjointness axioms. The new 1.1 features include extra syntactic sugar, additional property and qualified cardinality constructors, extended datatype support, simple metamodelling, and extended annotations.
While OWL 1.1 is still at a rather early stage, and will not become an official recommendation before 2008, I believe that OWL 1.1 contains many invaluable extensions that are already useful for everyday work. We therefore decided to integrate 1.1 support into the new 2.0 release of TopBraid Composer. The Pellet version integrated in Composer already supports reasoning with many of the OWL 1.1 constructs, and more 1.1 tools and APIs will follow. At the same time, users need to be aware that they are adopting the language at a stage where it will almost certainly change. As a result, ontologies that use the new features now may contain deprecated constructs until the language has been officially sanctioned. Furthermore, tool support is on the bleeding edge and will not be as stable and reliable as support for OWL 1.0.
Here are some examples of how the new features are used in Composer. User-defined datatypes are subtypes of the built-in datatypes such as xsd:int and xsd:string. In the screenshot below, all instances of the class Adult must have their age between 18 and 65:
Internally, the new OWL 1.1 language constructs are represented as additional triples. In the example below, I have restricted the range of the age property to fall within the interval of 0 to 200. As shown in the nested form, the rdfs:range of the property is an instance of the system class owl:DataRange, with additional attributes to represent facets such as minInclusive.
A common problem with OWL DL ontologies is that a large number of disjointness axioms is needed to declare that certain classes do not overlap (i.e. share instances). OWL 1.1 introduces the disjointUnionOf property as a convenient shortcut for such cases. In the following TopBraid Composer screenshot, the class RealEstate is defined as the disjoint union of its subclasses Apartment, House and Townhouse using a compact xor notation. Reasoning engines that see such statements would insert pairwise disjointness axioms between those classes on the fly.
Qualified Cardinality Restrictions (QCRs) allow you to define the class of Persons that have some children, at least two of which must be Female:
There are several other extensions - please see TopBraid Composer's documentation (Help > Help Contents > TopBraid Composer) and the OWL 1.1 documents on the Web for details. Don't forget to activate OWL 1.1 support in the ontology start page - by default these features are switched off so that users can safely rely on OWL 1.0 if they prefer. Feel free to drop me a line to provide your feedback and questions.