OWL

The OWL Web Ontology Language is a W3C standard language for defining and instantiating Web Ontologies. OWL vocabulary is defined on top of the RDFS vocabulary:

Additionally, OWL offers a way to specify properties that are:

These are called global restrictions since they apply everywhere a property is used. All classes you create in your OWL ontology are subclasses of the owl:Thing class which is in turn a subclass of rdfs:Resource.

In addition to global restrictions, OWL provides a vocabulary for creating local restrictions specific to a class.

Note that OWL has been primarily designed for inferencing, not constraint checking. Almost all restrictions formulated in OWL can equally be expressed using SHACL.

OWL 2 Support in TopBraid Composer

OWL 1 became an official W3C recommendation in 2004. Work continued on OWL to overcome limitations of OWL, such as the inability to express numeric data ranges ("age > 18" for example). OWL 2 became an official W3C recommendation in October 2009.

TopBraid Composer supports the syntax of all elements of OWL 2. OWL 2 models are stored as RDF vocabularies and files, and all the RDF-based infrastructure of TopBraid (such as SPARQL queries) is available for OWL 2. Specific OWL 2 features may not be supported by all third-party components.

Using OWL 2 Features

The focus of OWL, and OWL 2, lies in the rich vocabulary to define classes by combining and restricting other class definitions and properties. These class definitions are typically used using the system properties rdfs:subClassOf and owl:equivalentClass. TopBraid Composer supports the complete range of OWL 2 features including user-defined datatypes in those places, using the Manchester Syntax.

 

All other OWL 2 features can be edited as well, through the generic user interface. You can drag and drop any property from the Properties view onto a form to add a value to an OWL 2 property.

Inferencing with OWL 2

TopBraid Composer supports a limited subset of OWL 2 called OWL-RL, based on SPIN: OWL RL support for SPIN. This support takes a brute force approach to OWL 2 support, and simply follows the OWL RL specification without further optimizations. However, this SPIN library has the advantage that users have freedom to chose which particular OWL 2 extension they need. For example, if you need support for OWL 2 property chains, you can add the corresponding SPIN rules for that vocabulary only.