Semantic Web Tools

snufflevoicelessInternet and Web Development

Oct 22, 2013 (3 years and 10 months ago)

85 views

Semantic Web Tools


Vagan Terziyan



Department of Mathematical Information Technology, University of Jyvaskyla


vagan@cc.jyu.fi ; terziyan@yahoo.com

http://www.cs.jyu.fi/ai/vagan

+358 14 260
-
4618


2

Tutorial: Designing Ontologies with Protégé

http://www.cs.man.ac.uk/~horrocks/Teaching/cs646/

http://www.co
-
ode.org/resources/tutorials/ProtegeOWLTutorial.pdf



Protégé

is

an

ontology

editor

and

a

knowledge
-
base

editor

(download

from

http
:
//protege
.
stanford
.
edu

)
.


Protégé

is

also

an

open
-
source,

Java

tool

that

provides

an

extensible

architecture

for

the

creation

of

customized

knowledge
-
based

applications
.


Protégé's

OWL

Plug
-
in

now

provides

support

for

editing

Semantic

Web

ontologies
.

3

FaCT++ OWL
-
DL Reasoner

Supported by Protégé 4.0 Alpha

4

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
Protégé
.

http://www.racer
-
systems.com/

5

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
descriptions.


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.

http://www.racer
-
systems.com/

6

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
platform.


http://herzberg.ca.sandia.gov/jess/

7

Jess installation


Visit http://www.jessrules.com/


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

8

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

JessTab.jar

jess.jar

plugin.properties

Tip: The file names
sometimes contain version
number. Usually, Protégé
will find them anyway.

9

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
handlers

10

JessTab Installation


JessTab is bundled with the Protégé
distribution


Latest JessTab version available from
SourceForge


It is necessary to download and install
Jess separately


Because of licensing

11

http://www.ida.liu.se/~her/JessTab/tutorial07/

Trying JessTab


Obtain Protégé


Download from http://protege.stanford.edu/


License: MPL 1.1


Obtain Jess


Download from http://www.jessrules.com/


License: Special Jess license (commercial or free
academic)


Compilation sometimes required


Get JessTab


Download from http://www.ida.liu.se/~her/JessTab/


License: MPL 1.1

12

Enabling JessTab in Protégé


Enable the tab

13

JessTab with no Jess engine

14

JENA


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
-
Triples


An OWL API


In
-
memory and persistent storage


RDQL


a query language for RDF

http://jena.sourceforge.net/

http://jena.sourceforge.net/tutorial/RDF_API/index.html

15


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

http://protege.stanford.edu/plugins/owl/api/guide.html

16

Jena Integration of Protégé
-
OWL

The OWLModel API has a new method getJenaModel() to access a Jena view of the Protege model at
run
-
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
conventional Protege
-
OWL API
must be used. However, this
mechanisms allows to use Jena
methods for querying while the
ontology is edited inside Protege.

17

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

http://www.joseki.org/

http://prdownloads.sourceforge.net/joseki/joseki
-
3.0
-
beta
-
1.zip?download

18

Sesame


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
language.