Semantic Web Tools
Department of Mathematical Information Technology, University of Jyvaskyla
firstname.lastname@example.org ; email@example.com
+358 14 260
Tutorial: Designing Ontologies with Protégé
Supported by Protégé 4.0 Alpha
Racer: Reasoner for OWL
RACER or RacerPro as it now called was the first OWL Reasoner on
the Market. They appeared in 2002 and have been continuously
improved. While others have tried hard to achieve comparable speed,
RacerPro is still one of the fastest OWL reasoning systems available.
Many users have contributed to the stability that the reasoner currently
demonstrates in many application projects around the world.
RacerPro as the back
end inference system (reasoner) for use with
Racer: Reasoner for OWL (services)
The following services are provided for OWL ontologies
and RDF data descriptions:
Check the consistency of an OWL ontology and a set of data
Find implicit subclass relationships induced by the declaration in
Find synonyms for resources (either classes or instance names).
Since extensional information from OWL documents (OWL
instances and their interrelationships) needs to be queried for client
applications, an OWL
QL query processing system is available as
source project for RacerPro.
HTTP client for retrieving imported resources from the web.
Multiple resources can be imported into one ontology.
Incremental query answering for information retrieval tasks
(retrieve the next n results of a query). In addition, RacerPro
supports the adaptive use of computational resource: Answers
which require few computational resources are delivered first, and
user applications can decide whether computing all answers is
worth the effort.
JESS: Rule Engine for Java Platform
is a rule engine and scripting environment
written entirely in Sun's Java language by Ernest
Hill at Sandia National Laboratories in
Livermore, CA. Using
, you can build Java
software that has the capacity to "reason" using
knowledge you supply in the form of declarative
is small, light, and one of the fastest
rule engines available. Its powerful scripting
language gives you access to all of Java's APIs.
includes a full
environment based on the award
Choose license type
expires after 30 days
commercial or academic (includes source)
Stable (e.g., 6.1p8)
Development (e.g., 7.0b7)
Tip: Development versions of
Jess are usually stable
Jess installation (cont.)
The distribution contains the file
Put the file
directory in the
Tip: The file names
sometimes contain version
number. Usually, Protégé
will find them anyway.
in for Protégé
Jess console window in Protégé
Mapping instances to Jess facts
Functions for knowledge
Mirroring Jess definitions in Protégé
Support for metalevel objects
Support for methods and message
JessTab is bundled with the Protégé
Latest JessTab version available from
It is necessary to download and install
Because of licensing
Download from http://protege.stanford.edu/
License: MPL 1.1
Download from http://www.jessrules.com/
License: Special Jess license (commercial or free
Compilation sometimes required
Download from http://www.ida.liu.se/~her/JessTab/
License: MPL 1.1
Enabling JessTab in Protégé
Enable the tab
JessTab with no Jess engine
Jena is a Java framework for building Semantic Web applications.
It provides a programmatic environment for RDF, RDFS and
OWL, including a rule
based inference engine.
Jena is open source and grown out of work with the HP Labs
Semantic Web Program.
The Jena Framework includes:
A RDF API
Reading and writing RDF in RDF/XML, N3 and N
An OWL API
memory and persistent storage
a query language for RDF
Jena is one of the most widely used Java APIs for RDF and
OWL, providing services for model representation, parsing,
database persistence, querying and some visualization tools.
OWL always had a close relationship with Jena. The
Jena ARP parser is still used in the Protege
OWL parser, and
various other services such as species validation and datatype
handling have been reused from Jena. It was furthermore possible
to convert a Protege OWLModel into a Jena OntModel, to get a
static snapshot of the model at run time. This model, however had
to be rebuild after each change in the model.
As of August 2005, Protege
OWL is now much closer integrated
with Jena. This integration allows programmers to user certain
Jena functions at run
time, without having to go through the slow
rebuild process each time. The architecture of this integration is
illustrated on the next slide…
Jena Integration of Protégé
Jena Integration of Protégé
The OWLModel API has a new method getJenaModel() to access a Jena view of the Protege model at
time. This can be used by Protege plugin developers. Many other Jena services can be wrapped into
Protege plugins this way, by providing them a pointer to the Model created by Protege.
The key to this integration is the fact
that both systems operate on a low
level "triple" representation of the
model. Protege has its native frame
store mechanism, which has been
wrapped in Protege
OWL with the
TripleStore classes. In the Jena
world, the corresponding interfaces
are called Graph and Model. The
Protege TripleStore has been
wrapped into a Jena Graph, so that
any read access from the Jena API in
fact operates on the Protege triples.
In order to modify these triples, the
must be used. However, this
mechanisms allows to use Jena
methods for querying while the
ontology is edited inside Protege.
a SPARQL Server for Jena
Joseki: The Jena RDF Server. Joseki is a server for publishing
RDF models on the web. Models have URLs and they can be
access by HTTP GET. Joseki is part of the Jena RDF framework.
Joseki is an HTTP and SOAP engine supports the SPARQL
Protocol and the SPARQL RDF Query language. SPARQL is
developed by the W3C RDF Data Access Working Group.
RDF Data from files and databases
HTTP (GET and POST) implementation of the SPARQL protocol
SOAP implementation of the SPARQL protocol
Sesame is a Java framework for storing, querying and
inferencing for RDF. It can be deployed as a web server or
used as a Java library. Features include several query
languages (SeRQL and SPARQL), inferencing support,
and RAM, disk, or RDBMS storage.
Sesame 2.0 now supports most of the SPARQL query