The following tutorials
will be offered on the first day (June 23, 2009) of the 11th
International Protégé Conference:
Tutorial content subject to change. Contact the conference
organizers with questions (protege-conf-organizers AT lists DOT stanford DOT edu).
Introduction to OWL
OWL is the W3C standard ontology language for the Semantic Web, and Protégé-OWL the most widely used editing tool for OWL. This
three-part tutorial introduces OWL ontology development with Protégé-OWL, presents the majors features of the OWL-DL languages, and
explains how to leverage these features for performing advanced reasoning tasks. This will be a "hands-on" adaptation and extension of the
Protégé-OWL pizza tutorial.
The three parts are in continuity, but intermediate resources will be provided so that participants
can attend only the second, the third, or the second and third parts depending on their level of expertise.
The first part of the tutorial covers the basic language elements of OWL (classes, properties, and individuals) and shows how they can be edited
with Protégé-OWL. The goal of this session is to demonstrate how to create the various elements of a pizza ontology and how to
structure this ontology. The intended audience is users not familiar with the Protégé-OWL editor or with the OWL language.
The second part of the tutorial introduces the semantics of the OWL language constructs. We will explore more complex OWL class descriptions by showing
how different types of restrictions can be used to enhance the logical meaning of classes, after which we will discuss the important notion of primitive
and defined classes. The goal of this session is to demonstrate how to use the richness of the OWL language both for providing an accurate description
of a domain knowledge and for using this knowledge in order to make the development and maintenance of the ontology easier and safer. The intended
audience comprises those who attended the first part and those who want to have an introduction to the semantics of the OWL language.
The third part of the tutorial introduces a more advanced exploitation of the reasoning power of OWL. We will cover the open world assumption and
compare class and instance-based reasoning. The intended audience comprises those who attended the second part and those who want to get an in-depth
understanding of the capabilities of OWL reasoning.
Properties and Individuals in OWL: Reasoning About Family History
(Robert Stevens and Simon Jupp)
This tutorial has the aim of enabling attendees to learn about how to use OWL individuals and the inferences that can be made about them with
automated reasoning. This intermediate level tutorial will take attendees deeper in to the use of properties, their characteristics, and property
hierarchies to describe and reason about individuals in a family history. It will be a "hands-on" tutorial that will use the case study
of family history. Attendees will create individual family members, assert only parents and siblings and then infer a whole host of other family
The objectives of the tutorial are:
Attendees are expected to be familiar with the material available in Manchester's
introduction to writing ontologies in OWL, though the
tutorial will entail some revision. Much of the tutorial will be "hands-on", so attendees should have a computer with a
copy of Protege 4, though this is not absolutely essential.
- Understand the separation of OWL knowledge bases into TBox and ABox.
- Understand the difference between classes and individuals; when should individuals be used?
- Asserting facts about individuals (property assertions and class assertions).
- Understanding inferences: The effects of property hierarchies, property characteristics, property chains and domain/range constraints.
- The ramifications of the open world assumption.
- Introducing the use of nominals (blurring the Tbox ABox distinction).
- Understanding the limits of OWL2 when reasoning about instances.
Understanding and Repairing Inferences
The Web Ontology Langauge, OWL, became a World Wide Web Consortium Standard in February 2004. Since then it has probably become the most widely
used ontology language, being adopted all over the world by academia and industry alike. As well as being extensively used in the field of computer
science, OWL is used by many domain experts in diverse areas such as bioinformatics, medicine, and geography. One of the key aspects of OWL is that
it is built upon the foundations of a Description Logic. This logical foundation gives statements made in OWL a well defined meaning. Moreover, it
makes it possible to specify various automated reasoning tasks, and to use "off the shelf" description logic reasoners such as FaCT++,
HermiT, Pellet, and Racer. With reasoning, knowledge that was implicit, but not stated in the original ontology, can be made explicit---knowledge
can be inferred. A consequence of the fact that OWL is underpinned by a highly expressive description logic, is that unexpected or undesirable
entailments (inferences) can arise in ontologies.
The reasons as to why an entailment arises in an ontology can range from fairly simple localized reasons through to highly non-obvious reasons.
In the case of very large ontologies, manually pinpointing the reasons for an entailment can be a wretched and error prone task, especially as
it may be a very small percentage of the ontology that is responsible for the entailment. Without some kind of tool support it can be very
difficult to track down and understand the reasons for entailments.
Tool support in the form of an explanation workbench plug-in has recently been made available for Protégé 4. This plug-in makes it
possible to obtain and browse explanations for entailments. Using the explanation workbench plug-in, the tutorial will introduce explanation of
entailments in OWL. With a mixture of theory and practice, participants will first be introduced to the terminology and main ideas behind
explanation, and will then be able to gain hands on experience of browsing and understanding explanations for inferences in Protégé 4.
Specifically, the tutorial will cover:
It is expected that participants will have a basic understanding of OWL and that they will have at least browsed, if not built, OWL ontologies in
Protégé. Participants might first like to attend the OWL modelling and reasoning tutorials.
- Entailments (inferences) in OWL
- A recap of the types of entailments that can arise in ontologies
- Types of undesirable entailments (e.g. unsatisfiable classes, inconsistent ontologies)
- Browsing entailments in various ontologies with Protégé 4
- Unsatisfiable classes
- Finding and examining unsatisfiable classes in Protégé 4
- Manually tracing through unsatisfiable classes in Protégé 4
- Root and derived unsatisfiable classes
- Finding root unsatisfiable classes
- Explaining entailments with justifications
- Introduction to justifications as a kind of explanation
- Methods of computing justifications
- Black box computation
- Glass box computation
- Viewing and understanding justifications for entailments in Protégé 4
- Understanding the presentation of justifications
- Justifications for unsatisfiable classes
- Justifications for arbitrary entailments
- Repairing an ontology using justifications
- Laconic and Precise justifications
- Identifying and cutting out the irrelevant parts of axioms in justifications
- Browsing and understanding laconic justifications in Protégé 4
- Lemmatised justifications
- Inserting helpful intermediate inference steps into justifications
This tutorial will be given by Matthew Horridge. Matthew is a Research Associate
in the School of Computer Science at the University of Manchester. He conducts research in the area of explanation in OWL. Matthew also led the
initial design and development of version 4.0 of the Protégé-OWL editor.
Collaborative Ontology Development with Protégé
(Tania Tudorache, Jennifer Vendetti, Natasha Noy, Timothy Redmond)
In recent years, collaborative ontology development has become one of the "hot topics" in the ontology and Semantic Web communities.
Protégé 3.4 already provides features that allow a community of users to simultaneously edit an ontology,
discuss the ontology content, and document these discussions in the context of the ontology. Users are also able to start change proposals, vote, browse,
and discuss the change history of an ontology component. Other features include chat, filtering, and the ability to search the discussions in the ontology.
Users may edit the ontology either in the
Collaborative Protege client - an extension of
the Protégé desktop application, or in WebProtege - a lightweight, web-based
In this hands-on tutorial, you will learn how to set up and use the collaborative Protégé environment. In the first part of the tutorial,
we will set up a
Protégé server, create users, and configure the projects and their access policies. Then we will learn how to set up a project for
collaboration and how to create the changes and annotation ontology. We will also partially cover the set-up of WebProtégé.
In the second part of the tutorial, we will split into small groups and collaboratively edit an ontology using Collaborative Protégé
and WebProtégé. During this exercise, you will learn how to create different types of notes attached to a particular class in the ontology,
how to browse and comment on the change history, how to use the chat feature, and many other tips and tricks. All other features of the
collaborative environment will be covered. You will learn how to configure WebProtégé and how to layout the user interface to suit different
needs and user expertise levels.
If you plan to follow the hands-on portion of the tutorial, basic experience with navigating the Protégé user interface will be assumed.
Attendees should know how to perform rudimentary tasks such as opening projects and creating new classes, slots, and instances.
See the wiki page for this tutorial
This tutorial will provide an in depth look at the SWRLTab, a development environment for working with Semantic Web Rule Language (SWRL) rules in
Protégé-OWL. The tutorial will provide an introduction to the SWRL language. Hands-on sessions will cover the authoring of rules
using the SWRL Editor and the execution of rules using the SWRLJessTab. The set of libraries provided by the SWRLTab will also be covered. These
libraries can be used in SWRL rules and include collections of mathematical, string, and temporal operators, in addition to operators that can be
used to effectively turn SWRL into a query language.
The target audience member is an existing Protégé-OWL user. Attendance at the OWL Tutorial or previous familiarity with basic OWL
concepts are minimal requirements.
Developing Protégé 4 Plug-ins
(Nick Drummond, Matthew Horridge, Timothy Redmond)
Protégé has always been designed to allow developers to add features. Protégé 4 is no different and is based on a
framework that allows easy implementation and extension of plug-ins. This tutorial will guide you through the basics of developing plug-ins for
Protégé 4. As this is a short session and aimed at developers we would like to keep the format loose.
We will aim to cover the following topics:
It is an aim of the tutorial that participants should leave with enough knowledge to start implementing a simple plug-in. An understanding of
Java and familiarity with Java development environments (IDEs) is assumed.
- guidelines for developers
- plug-in types
- Protégé 4 architecture overview
- OSGi/equinox basics
- OWL API introduction
- Useful Protégé 4 UI components
This tutorial will introduce the
which enables the use of the
Java Expert System Shell (Jess)
under Protégé. The tutorial will cover basic Jess programming, rule-based reasoning with Jess under
Protégé, and the use of Jess for managing Protégé ontologies and knowledge bases.
Furthermore, the tutorial will address the mapping of instances in Protégé knowledge bases to Jess
facts and use of the JessTab with both Protégé-Frames and Protégé-OWL. The tutorial will
exemplify practical uses of Jess together with Protégé and discuss common design patterns. The tutorial
will demonstrate how to install Jess and the JessTab and how to interact with the JessTab. The target audience is
developers interested in combining ontologies and reasoning. No prior knowledge of Jess or the JessTab is required.