dvfsds1.
W3C
¡
RDF Query : SPARQL
¢
Query Language
¢
Semantic Web Toolkits Protocol
¡
OWL/RDF Rules : SWRL
Olivier Corby
http://www.inria.fr/acacia/cours/essi2005
£ ¥
W3C : OWL-S W3C : OWL-S
¤ ¤
OWL-S : Semantic Markup for Web Services Powerful tools should be enabled by service
¤
descriptions, across the Web service lifecycle.
The Semantic Web should enable greater access
not only to content but also to services on the OWL-S is an ontology of services that makes
Web. these functionalities possible.
¤
Users and software agents should be able to ¤
ontology has three main parts:
discover, invoke, compose, and monitor Web ¦
the service profile for advertising and discovering
resources offering particular services and having
services;
particular properties, ¦
the process model, which gives a detailed description
¤
and should be able to do so with a high degree of of a service's operation;
automation if desired. ¦
and the grounding, which provides details on how to
interoperate with a service, via messages.
§ ©
OWL-S OWL-S
¨
What does the service provide for prospective clients? The
answer to this question is given in the quot;profile,quot; which is used to
advertise the service. To capture this perspective, each
instance of the class Service presents a ServiceProfile.
¨
How is it used? The answer to this question is given in the
quot;process model.quot; This perspective is captured by the
ServiceModel class. Instances of the class Service use the
property describedBy to refer to the service's ServiceModel.
¨
How does one interact with it? The answer to this question is
given in the quot;grounding.quot; A grounding provides the needed
details about transport protocols. Instances of the class Service
have a supports property referring to a ServiceGrounding.
OWL-S : Semantic Markup for Web Services, W3C Member Submission, 2004,
quot;quot;# quot;1) quot;% quot;# quot;
76543 0220 (' $ !
1
2. ¡
Jena : HP Labs
OWL-S
¢
Open Source Semantic Web Toolkit
¢
Relational Database
¢
RQL Query Language
¢
Support for OWL syntax
0¥! ¦36¨4310)¦¨%¦¦! ¦¦¦¦¨¦¥£
$ ¤ £ 9 8 7 ( 5 2 ( $( ' $# quot; § £ § £ © § ¤ ¤
@ DB
C
Jena : API Jena : Persistence
E
An RDF API The Jena2 persistence system implements an
A extension to the Jena Model class that provides
statement centric methods for manipulating an
persistence for models through use of a back-
RDF model as a set of RDF triples
A end database engine.
resource centric methods for manipulating an RDF
E
model as a set of resources with properties The persistence system supports a Fastpath
A
capability for RDQL queries that dynamically
built in support for RDF containers - bag, alt and
seq generates SQL queries to perform as much of
A the RDQL query as possible within an SQL
enhanced resources - the application can extend
the behaviour of resources database engine.
A E
integrated parsers and writers for RDF/XML (ARP), Currently, Jena2 can use three SQL database
N3 and N-TRIPLES engines, MySQL, Oracle and PostgreSQL.
A support for typed literals These are supported on Linux and WindowsXP.
Portable to other SQL database engines.
DF
F DF
G
Jena : Query Jena : Reasoner
H
RDQL query language The Jena2 reasoner subsystem includes a
generic rule based inference engine
E H
RDQL is a query language for RDF data. The together with configured rule sets for
implementation in Jena is coupled to relational RDFS and for the OWL/Lite subset of OWL
database storage so that optimized query is Full.
performed over data held in a Jena relational H
These reasoners can be used to construct
persistent store.
inference models which show the RDF
statements entailed by the data being
reasoned over.
2
3. F F
¡
¢
Jena : Reasoner Jena : Ontology API
E
H The Jena2 ontology API is intended to support
The subsystem is designed to be
programmers who are working with ontology
extensible so that it should be possible to
data based on RDF.
plug a range of external reasoners into E
Specifically, this means support for OWL, and
Jena,
RDFS.
H
Of these components, the underlying rule E
A set of Java abstractions extend the generic
engine and the RDFS configuration should RDF Resource and Property classes to model
be reasonably stable. more directly the class and property expressions
H
The OWL configuration is preliminary and found in ontologies using the above languages,
and the relationships between these classes and
still under development.
properties.
F F
¡
£ ¡
¤
Jena : Ontology API Sesame
H 464321)'%#!¨¨¨§¥
©¦¦
0($quot;©
5
The ontology API works closely with the
reasoning subsystem derive additional 7
Java middleware, Aidministrator Nederland
information that can be inferred from a
particular ontology source.
H
Given that ontologists typically modularise
ontologies into individual, re-usable
components, and publish these on the
web, the Jena2 ontology subsystem also
includes a document manager that assists
with process of managing imported
ontology documents.
¡8
9 ¡A
B
Sesame Sesame : Rule
VfHYc aH¡aTHYXVHTP)PH¡EC
gWed D RbD I`FWUISRQ IGFD
@
DBMS with a JDBC-driver. Currently, PostgreSQL, TPPfYTEPC
gI`iSID h
MySQL, MS SQL Server and Oracle databases are ¡PHPfVHU aHtPTPHPYXC
gvWuuuW D Rs crIqpF`
supported YYfHYc aHYP† a¡y¡afy„ XYPTP¡‚¡PPPXY¡yxfPPfPYTEfC
gvWed D Rh‡ D ƒ… ID I€ ISƒ`vv hcc€WUiD F IcRriwID h
YPyfYVX¡XaxTPPHYXC
gvW ˆˆˆWUDR s crIqpƒ
@
The basic set of RDFS inference rules (as defined in YfHYTTEYHC
gI`iSID hv
the RDF(S) MT semantics) sometimes can be TPPfYTEPC
gI`iSID h
insufficient to build custom applications. ¡PyPfˆ HU aHtPTPHPYXC
gvW ˆˆ W D Rs crIqpF`
YYfHYc aHYP† a¡y¡afy„ XYPTP¡‚¡PPPXY¡yxfPPfPYTEfC
gvWed D Rh‡ D ƒ… ID I€ ISƒ`vv hcc€WUiD F IcRriwID h
@
For example, in some applications there is a need for YPPfYPX¡XaxTPPHYXC
gvW‰‰‰WUDR s crIqpƒ
defining one's own transitive, symmetric or inverse YfHYTTEYHC
gI`iSID hv
properties. Providing an infrastructure to define such
TYPXPVfPPPHC
gcQIFI`Qƒr
¡PHPfVHU aHtPTPHPYXC
gvWuuuW D Rs crIqpF`
custom inference rules helps developers to tune the YYfHYc aHYP† a¡y¡afy„ XYPTP¡‚¡PPPXY¡yxfPPfPYTEfC
gvWed D Rh‡ D ƒ… ID I€ ISƒ`vv hcc€WUiD F IcRriwID h
Sesame inferencer so it can suit better in the YPPfYPX¡XaxTPPHYXC
gvW‰‰‰WUDR s crIqpƒ
application. YfYHfYYfPPPHC
gcQIFI`Qƒrv
VfH¡aHC
gIGFD v
3
4. ¡A
¡a
b
Sesame : Query Sesame
SeRQL Query Language SeRQL Query Language
¨¦¦¨¤¤¦¨¦¤¢
©¢©§¥£
©¢¥©§ ¤gf¤¤¤¦§
©¢cdc
e
P£I
H¤G¤¤EC¦¤B@¨¤65(¦1$¦¤($quot; 0%)'%#!
9 8 7 %4 3 2 #
0 # 9 % F' A D4 %# A d w¤¨v¤t5¤¦R$EqG¤R5i 0h
8p#D
0r
s9 uAs4 )3 2# 0
¦I
P£ ¤¤¨x
ccy
¤$¦(¦$VU¦¤B@¨¤TS(¦RQ¦¤(¦Qquot; 0%)'%#!
9 8 7 %4 3 2 #
W 0 % ) ' % # !4 % # A ƒ¤¤¤€h
9's
‚ ¤¤3 †¤te
pp ¤¤p …
`# ‡‚
!
¤¥
©£ „„„
… e ¥
¤¨YU¦¤A
) A X4 % # (¦¤¤#
29%A9
¢ ¦¤¨’5¤¤¨‘Vˆ r
‰
“ # A u4 p p 3 ‡H¤¤t5¨¤g”r ‰
• “pp34 #A u
!
¤£
¥
H¨GG¤¤EC¦¤B@¨¤65(¦1 0
9 8 7 %4 3 2 #
0 ` F' % F' A D4 %# A '
) d –¤¤(¦'
ˆ sA#9% •
d
¡a
— ¡a
a
Sesame : Graph API ICS-FORTH RDF Suite
˜
Creating an empty Graph and adding ™
Heraklion, Crete, Greece
statements ™
BD
˜
Adding/removing a Graph to/from a ™
RDF Parser
repository ™
RDF Query Language
˜
Creating a graph using graph queries
˜
Using graphs and graph queries for SQQuHQ$H–Qr¨$pQ¤pSmHQi¨Qfd gee
lqko kno nlkjjh
jwvtjsnsnh slo
updates
˜
Communicate with a remote Sesame
server directly through the HTTP protocol.
¡x
y |{
ICS-FORTH RDF Suite ICS-FORTH RDF Suite
}
z
The novelty of RQL lies in its ability to
The Validating RDF Parser (VRP): The First
smoothly combine schema and data
RDF Parser supporting semantic validation of
both resource descriptions and schemas querying while exploiting the taxonomies
of labels and multiple classification of
z
The RDF Schema Specific DataBase (RSSDB):
resources, using advanced pattern-
The First RDF Store using schema knowledge to
matching facilities
automatically generate an Object-Relational
(SQL3) representation of RDF metadata and }
The RQL Interpreter (v2.1) has been
load resource descriptions. implemented in C++ on top of an
z
The RDF Query Language (RQL): The First ORDBMS (PostgreSQL v7.3 or higher)
Declarative Language for uniformly querying using a standard client-server architecture
RDF schemas and resource descriptions. for Solaris and Linux platforms.
4
5. ¡{
¡£
¤
ICS-FORTH RDF Suite Redland RDF Framework
§§©§§¥
¨¦¦ quot;
! '%#
$
(
RQL consists of four modules )
CModular, object based libraries written in C.
¢
(a) the Parser, analyzing the syntax of )
APIs for manipulating the RDF graph, triples, URIs
queries; and Literals.
¢ )
(b) the Graph Constructor, capturing the Triple sequences for efficient streaming.
)
Parsers and Serializers for reading and writing RDF
semantics of queries in terms of typing and
as RDF/XML, N-Triples and Turtle Terse RDF Triple
interdependencies of involved expressions; Language syntaxes via the Raptor RDF Parser
¢
(c) the SQL Translator, which rewrites RQL Toolkit.
)
Storage for graphs in memory, with
to efficient SQL queries; and
Sleepycat/Berkeley DB, MySQL 3/4, AKT Triplestore,
¢
(d) the Evaluation Engine, accessing the files or URIs.
underlying database via SQL queries.
¡0
1 ¡0
3
Redland RDF Framework Corese INRIA
2
Querying with RDQL and SPARQL using the VRWV%X%WCV%RASRPHEC©A9%64
755
BBB@@8
QFIGFD
`a`IYU@QFUQUQ@ITD
Rasqal RDF Query Library.
2 b
Redland contexts for managing data Conceptual Graphs, Java
aggregation and recording provenance. b
Graph projection, Approximate search
2
Language Bindings in C#, Java, Obj-C, Perl, b
RDF Query Language
PHP, Python, Ruby and Tcl via the Redland
Bindings package.
b
RDF Rule Language
2
Command line utility programs rdfproc (RDF), b
Semantic Web Server
rapper (parsing) and roqet (query).
2
Portable, fast and with no known memory
leaks.
¡c
d ¡
‘
Fact Pellet
e '‚”quot;jh‚fe”™h–””’
• o dn m l k ig d d d˜ ˜— •“ “ 't…™h–”f”‚”…”‚'””t…t”qg
y i“ ’ng zxmlk˜“xyyx •˜wvv u˜ srp
FaCT++
rphVf
igg
sq s hV…Xh‚'P§t
s † „w ƒ yw € y xw v u h§V§§VpˆAˆ‡
s‰„vi‰„vigƒy
{
Pellet is an open-source Java based OWL DL
e
FaCT++ is an implementation of an OWL-Lite
reasoner. It can be used in conjunction with either
reasoner. It is a new generation of the well-
Jena or OWL API libraries.
known FaCT reasoner. It uses the established {
FaCT algorithms, but with a different internal Provides functionalities to see the species validation,
architecture. Additionally, the implementation check consistency of ontologies, classify the
language C++ was chosen in order to create a taxonomy, check entailments and answer a subset of
more efficient software tool, and to maximise RDQL queries (known as ABox queries in DL
portability. terminology).
5
6. ¢
¡ ¢¤
¥
Pellet Pellet
£ £
Pellet is an OWL DL reasoner based on the tableaux algorithms Ontology analysis and repair
developed for expressive Description Logics. It supports all the £
XML Schema Datatype reasoning
OWL DL constructs including the ones about nominals, namely
owl:oneOf and owl:hasValue. It is known that using these
constructs with inverse properties causes problems in
reasoning.
£
Pellet uses a combination of known algorithms and provides
reasoning that is sound and complete for OWL DL without
nominals (SHIN(D) in DL terminology) and OWL DL without
inverse properties (SHON(D) in DL terminology). It is provably
sound but incomplete with respect to all OWL DL constructs
(SHION(D) in DL terminology).
6