Semantic Web Tools
Vagan Terziyan
Department of Mathematical Information Technology, University of Jyvaskyla ;
+358 14 260-4618
Tutorial: Designing Ontologies with Protégé
 Protégé is an ontology editor and a knowledgebase
from ).
 Protégé is also an open-source, Java tool that
provides an extensible architecture for the
creation of customized knowledge-based
 Protégé's OWL Plug-in now provides support
for editing Semantic Web ontologies.
FaCT++ OWL-DL Reasoner
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
the ontology.
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
an open-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
 Jess is a rule engine and scripting environment
written entirely in Sun's Java language by Ernest
Friedman-Hill at Sandia National Laboratories in
Livermore, CA. Using Jess, you can build Java
software that has the capacity to "reason" using
knowledge you supply in the form of declarative
rules. Jess is small, light, and one of the fastest
rule engines available. Its powerful scripting
language gives you access to all of Java's APIs.
Jess includes a full-featured development
environment based on the award-winning Eclipse
Jess installation
 Visit
 Choose license type
Trial – expires after 30 days
Licensed – commercial or academic (includes source)
 Choose version
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 jess.jar
 Put the file jess.jar in the
Protege/plugins/JessTab directory in the
Protégé installation
Tip: The file names
sometimes contain version
number. Usually, Protégé
will find them anyway.
JessTab plug-in for Protégé
Jess console window in Protégé
Mapping instances to Jess facts
Functions for knowledge-base operations
Mirroring Jess definitions in Protégé
knowledge bases
 Support for metalevel objects
 Support for methods and message
JessTab Installation
 JessTab is bundled with the Protégé
 Latest JessTab version available from
 It is necessary to download and install
Jess separately
Because of licensing
Trying JessTab
 Obtain Protégé
Download from
License: MPL 1.1
 Obtain Jess
Download from
License: Special Jess license (commercial or free
Compilation sometimes required
 Get JessTab
Download from
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:
Reading and writing RDF in RDF/XML, N3 and N-Triples
In-memory and persistent storage
RDQL – a query language for RDF
Jena Integration of Protégé-OWL
 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.
Protege-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é-OWL
The key to this integration is the fact
that both systems operate on a lowlevel "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
conventional Protege-OWL API
must be used. However, this
mechanisms allows to use Jena
methods for querying while the
ontology is edited inside Protege.
The OWLModel API has a new method getJenaModel() to access a Jena view of the Protege model at
16 into
run-time. This can be used by Protege plugin developers. Many other Jena services can be wrapped
Protege plugins this way, by providing them a pointer to the Model created by Protege.
Joseki - 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.
 Joseki Features:
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

Semantic Web Tools