The following tutorials will be offered on the first day (July 15th, 2007) of the 10th
International Protégé Conference:
Tutorial content subject to change. Contact the conference
organizers with questions (protege-conf-organizers AT lists DOT stanford DOT edu).
How to Build and Maintain Useful Ontologies
This tutorial will provide an overview of what we have learned from recent work, especially in the
biomedical domain, regarding practices of ontology building. We will focus not on tools and
implementations, but rather on the steps needed to create coherent ontology content. Topics to be
dealt with will include:
- Basics of ontology building -- How to formulate terms, definitions, axioms.
- Some ontology success stories -- The role of annotations; how to make ontologies work successfully
with instance-data in real-world contexts.
- Ontology cooperation -- How to resolve problems where ontologies overlap.
- Ontology terminology -- How the different disciplinary groups in ontology development and application can
communicate with each other when they use different terminologies?
- Ontology evolution -- How to improve ontologies, and how to keep track of improvements in useful ways.
- Ontology evaluation -- How can we prove that high-quality ontologies bring real benefits? What are
examples of successful use cases.
(Alan Rector, Olivier Dameron, Nick Drummond, Matthew Horridge)
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 famous
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.
SWRLTab Tutorial (Martin O'Connor)
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.
More information on this tutorial
Ontology Visualization (Jennifer Vendetti)
This tutorial will focus on several Protégé plug-ins that have been developed specifically
for the purpose of visualizing ontologies. The first portion of the tutorial will be a hands-on walk-through
of the graph widget tutorial that is available on the Protégé Web site. The graph widget is a
custom slot widget plug-in that allows users to graphically create and populate instances of classes.
It is very useful as a) an alternative to Protégé Forms for entering instance data,
b) as a way to visualize networks of instances, and c) as a way to visualize relationships between instances. The
graph widget can be used both in the
The second portion of the tutorial will be a demonstration of the
TGVizTab tab plug-ins.
If time permits at the end of the tutorial, there will also be a demonstration of a new visualization plug-in called the
Impact & Alignment Tab, which is a
work in progress and will be released (hopefully) in the fall. The target audience for this tutorial are Protégé
users with little exposure to the existing visualization plug-ins that are currently available. If users 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
More information on this tutorial
JessTab & JessAgentTab Tutorial (Henrik Eriksson, Karl-Heinz Krempels)
The first 2.5 hours of this tutorial will introduce the JessTab extension,
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.
The last 30 minutes of this tutorial will present the JessAgentTab and is focused on a four stage development
process of agent-based applications. In this process, Protégé's main role is the knowledge
representation integration among the different tools used in each stage, but also ontology modeling, knowledge
acquisition, problem solving method development, and code generation and export to the target technology
(agent technology, Web services, etc.). The first stage covers domain analysis and requirements specification
with the help of well-established tools in the domain of discourse. The second stage addresses knowledge engineering:
ontology modeling and knowledge acquisition with the help of core Protégé functionality. The problem
solving method (PSM) is developed/implemented with the help of the JessTab (Henrik Eriksson) in stage three.
The last stage covers code generation and export of the ontology (TBox, ABox) and PSM into a JessAgent.
The JessAgent is a generic rule-based agent with FIPA (Foundation of Intelligent and Physical Agents) interaction
capabilities and an embedded Jess (Java Expert System Shell) rule engine for reasoning. The target audience is
developers interested in combining ontologies, reasoning, and agent-based application development. No prior knowledge
of Jess, JessAgent, the JessTab, or the JessAgentTab is required.
More information on this tutorial
Application Development with Protégé (Timothy Redmond)
This tutorial will address the issue of developing plug-ins and applications with Protégé. It will
start with a description of the Protégé Plug-in Framework and describe how the plug-in framework can
be used to add capabilities to the Protégé system. We will cover all of the
existing plug-in types. We will describe what is necessary to
develop each type of plug-in and how each plug-in type extends the Protégé application. We will
follow-up the discussion of Protégé plug-ins with a discussion of an alternative paradigm of development
in Protégé: the development of standalone Protégé applications. We will see that in many
cases, there is a natural evolution from the development of Protégé plug-ins to the development of
standalone Protégé applications. We will describe the architectural design issues in application
development and analyze some real deployed applications that have been built with Protégé. The target
audience includes both Java programmers and non-programmers.