OWL Reasoning Examples and Hands-On Session

This version:
http://owl.cs.manchester.ac.uk/2011/07/sssw/
Authors:
Sean Bechhofer, University of Manchester
Aldo Gangemi, ISTC-CNR, Rome
Valentina Presutti, ISTC-CNR, Rome

Abstract

This document presents some simple example OWL ontologies and discusses some of the inferences that can be made about the classes and individuals in those ontologies. It also introduces and discussed logical and content design patterns.

Status of this document

This version produced July, 2011. This includes new material on ontology design patterns.


Introduction

The OWL Web Ontology Language describes a language for ontologies. This language is equipped with a formal semantics described in the OWL Web Ontology Semantics and Abstract Syntax [OWL S&AS] and OWL2 Direct Semantics [OWL2 Semantics]. Using these semantics, inferences about ontologies and individuals can be made. It is not always obvious why these inferences have occurred, however. Explanation of reasoning process is a topic of research interest — however this is still to reach a state where it is effective.

The purpose of this hands on session is to explore the underlying semantics of OWL and examine some of the effects of applying reasoning in OWL. There are a number of activities for this session. You are not necessarily expected to complete them all during the time allocated, but the materials will remain here for you to work through later.

The Examples

Some example ontologies are provided. Within these ontologies, there are a number of inferences that can be made, both about the classes defined in the ontologies (for example discovering that class definitions are inconsistent), and about the instances of the ontology (for example discovering that a particular instance is inferred to be a member of a particular class).

For each of these example inferences, you should look at the underlying model and try and work out why the inference is being made. Sometimes the inference may be due to some direct assertion, sometimes it may be due to the interaction between a number of assertions. You can use your favourite editor/reasoner to examine the inferences that can be drawn from the given assertions. In particular, you may find Protege's Explanation plugin useful in determing which axioms impact on the classification. You should try and work things out yourself, however, before using the tool to discover an explanation.

The later examples give a simple ontology, along with some questions relating to class definitions. Here, you should also use an editor to try testing the relationships between classes, add individuals that then instantiate the classes given, and explore the results of reasoning.

For all of the examples, feel free to experiment and change the definitions given in order to better understand what the operators mean and how they interact. There are no solutions given for this session, although there are explanations provided for many of the inferences.

Those new to OWL may not get through all of the examples in the time given. Those who have already worked with OWL may find these somewhat easier. Even if you are familiar with OWL, however, you are encouraged to look carefully at the examples — they have been known to trip up OWL experts.....

You may also find the OWL2 Primer [OWL2 Primer] and OWL2 New Features and Rationale [OWL2 New] documents useful in describing language features.

Exercises

  1. Basic Class and Instance Inferences and Logical Ontology Design Patterns.
  2. Logical Ontology Design Patterns.
  3. Class Definitions.
  4. Modelling with Content Ontology Design Patterns.
  5. Capturing Definitions.
  6. Further Inferences

References

[OWL S&AS]
OWL Web Ontology Language Semantics and Abstract Syntax. Peter F. Patel-Schneider, Patrick Hayes, Ian Horrocks. W3C Candidate Recommendation 18 August 2003.
[OWL2 Semantics]
OWL 2 Web Ontology Language Direct Semantics. Boris Motik, Peter F. Patel-Schneider, Bernardo Cuenca Grau. W3C Candidate Recommendation
[OWL2 Primer]
OWL 2 Web Ontology Language Primer. Pascal Hitzler, Markus Krötzsch, Bijan Parsia, Peter F. Patel-Schneider, Sebastian Rudolph. W3C Working Draft
[OWL2 New]
OWL 2 Web Ontology Language New Features and Rational. Christine Golbreich, Evan Wallace. W3C Working Draft