WS-DAIOnt-RDF(S): A framework of ontology access services for RDF(S) ontologies Miguel Esteban Gutiérrez

advertisement
WS-DAIOnt-RDF(S): A framework
of ontology access services for
RDF(S) ontologies
www.ontogrid.net
Miguel Esteban Gutiérrez
mesteban@fi.upm.es
Asunción Gómez-Pérez
asun@fi.upm.es
Óscar Muñoz García
omunoz@fi.upm.es
Boris Villazón Terrazas
bvillazon@fi.upm.es
Ontology Engineering Group, UPM
RDF, Ontologies and Meta-Data Workshop
Edinburgh, June 7th - 9th 2006
Table of Contents
 Introduction
 WS-DAIOnt
 WS-DAIOnt-RDF(S)
 Workplan
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
2
Diversity of Ontology tools and languages
1.
No uniform access to ontologies implemented in W3C languages
•
RDF(S)
•
OWL
Accessing RDF(S) ontologies
•Sesame
Statements(classUri, rdfs:type, rdfs:class)
next()
getObject()
•Jena
getResource(classURI)
2.
3.
Each language has several query languages and inference engines
•
RDF(S): SPARQL, SeRQL, RQL, RDQL and SILRI, RIL, Triple
•
OLW: OWL-QL and FACT, Racer
Each ontology tool and storage system has its own API for accessing
ontologies
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
3
OGSA ‘Semantic’ limitations
 No Grid compliant ontology access mechanisms in RDF(S) and OWL
 No specialized registry for localizing ontologies
 No Grid compliant instance access mechanisms in RDF
 SemGrid Applications access ontologies as on the Semantic Web
3store
Kowaki
Node B
Node A
RDF(S)
RDF(S)
Ontology evaluator
File
Edit
Evaluation
Parameters
Ontology1.rdf
Ontology1.owl
<service>
<name>robes</name>
<atribute>
<atrname>product</atrname>
<value>dressingGown</value>
</atribute>
<atribute>
<atrname>washing_instruction</atrname>
<value>machineWash</value>
<value>handWash</value>
<value>dryClean</value>
</atribute>
</service>
WebODE
Jena
Evaluating ontology...
Node D
Sesame
Node C
OWL
OWL
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
4
Adding ontologies to OGSA: OGSA-ONT
 Grid compliant ontology access and querying mechanisms for:
 RDF(S)
 OWL
 Specialized registry for localizing ontologies
Ontology evaluator
File
Edit
Evaluation
Parameters
Ontology1.rdf
Ontology1.owl
<service>
<name>robes</name>
<atribute>
<atrname>product</atrname>
<value>dressingGown</value>
</atribute>
<atribute>
<atrname>washing_instruction</atrname>
<value>machineWash</value>
<value>handWash</value>
<value>dryClean</value>
</atribute>
</service>
WebODE
Evaluating ontology...
Node D
Sesame
OWL
3store
Node A
OGSA-ONT
Jena
Node C
RDF(S)
OWL
Kowaki
Node B
RDF(S)
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
5
OntoGrid, Ontologies and S-OGSA
Architect, adapt and extend existing ontology services to be Grid compliant
 Access and querying
heterogeneus and
Isa
distributed ontology sources
as a homogeneous logical
resources
 Provide homogeneous
service interfaces
 Modular design to ease
Middleware layer
extensibility
Application layer
Insurance settlement
Satellite quality analysis
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
6
What is WS-DAIOnt?
 Web Services Data Access and Integration – The Ontology
Realization
 Specification of Grid Compliant Ontology Services, which
 Defines a framework for creating ontology access services in a
Grid environment
 Is fully compliant with S-OGSA (consequently with OGSA)
 Is based on up-to-date Grid standards (GGF)
• WS-DAI
 Is based on Web Service standards (OASIS, W3C)
• WS-RF, WS-Addressing...
 First implementation focused on RDF(S): WS-DAIOnt-RDF(S)
 Sesame and Jena (Oracle RDF-store, Atlas)
 Query languages: SPARQL, SeRQL, RDQL, RQL
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
7
Two sample implementations: Architectural implications
Business logic
Sample
Application
Ontology Access Client Layer
ProtocolSesame
Protocols
Implementations
Tools
Business logic
Sample
Application
Ontology Access
Client Layer
ProtocolJena
ProtocolSesame
ProtocolJena
ImplSesame
ImplJena
Sesame
Jena
RDF(S)
Repository
RDF(S)
Repository
• Monolithic approach:
• Client side: splitted ontology
access logic
• Server side: Two protocols + two
implementations
ProtocolRDF(S)
Protocols
Implementations
Tools
ProtocolRDF(S)
ImplRDF(S)-Sesame
ImplRDF(S)-Jena
Sesame
Jena
RDF(S)
Repository
RDF(S)
Repository
• Dual tier approach:
• Client side: single access logic
• Server side: One protocol + two
implementations
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
8
WS-DAIOnt-RDF(S): RDF(S) Ontology Access in Grids
 Our purpose:
 To provide a rational access mechanism for RDF(S)
(ontologies) in Grid environments
 Activities to carry out:
 Workout a spec defining the interfaces, operations,
messages, etc. that are to be provided
 Develop a system that follows the spec
 … but we don’t start from the scratch:
 OGSA
 WS-DAI
 Globus Toolkit 4
 Different RDF(S) storages (Sesame, Jena, …)
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
9
WS-DAIOnt-RDF(S) Implementation Architecture
 Two-tier architecture
• Upper service layer
Upper service layer
RDFSRepository
Service
Intermadiate
service layer
Web Service Tier
 Web Service tier
RDFSRepository
SelectorService
• Intermediate service layer
• Lower service layer
RDFSConnector
Storage layer
• RDFSConnector
Sesame
• Storage layer
RDF(S) Access
Tier
 RDF(S) access tier
Lower
service layer
RDFSClass
Service
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
10
Implementation and Specification
Web Service Tier
RDFSRepositorySelector
Service
RDFSRepository
SelectorService
RDFSRepositorySelectorDescription
Upper service layer
RDFSRepositorySelectorAccess
RDFSRepositorySelectorFactory
RDFSRepository
Service
Intermadiate
service layer
RDFSRepository Service
RDFSRepositoryDescription
Lower
service layer
RDFSClass
Service
RDFSRepositoryAccess
RDF(S) Access
Tier
RDFSRepositoryFactory
RDFSConnector
RDFSClass Service
Storage layer
Sesame
RDFSClassDescription
RDFSClassAccess
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
11
RDFSRepositorySelectorService
RDFSRepositorySelector
Service
RDFSRepositorySelectorDescription
RDFSRepositorySelectorAccess
RDFSRepositorySelectorFactory
RDFSRepository
Service
RDFSRepositoryDescription
RDFSRepositoryAccess
RDFSRepositoryFactory
RDFSClass Service
RDFSClassDescription
RDFSClassAccess
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
12
RDFSRepositorySelectorService: sample message
getRepositoryFactory message
Returns an EPR for a given repository
<xsd:element name="getRepositoryFactory">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "id" minOccurs="1" maxOccurs="1" ref="tns:repositoryId"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getRepositoryFactoryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "epr" minOccurs="1" maxOccurs="1" ref="wsa:EndpointReference"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
13
RDFSRepositoryService
RDFSRepositorySelector
Service
RDFSRepositorySelectorDescription
RDFSRepositorySelectorAccess
RDFSRepositorySelectorFactory
RDFSRepository Service
RDFSRepositoryDescription
RDFSRepositoryAccess
RDFSRepositoryFactory
RDFSClass Service
RDFSClassDescription
RDFSClassAccess
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
14
RDFSRepositoryService: sample messages (I)
getClassFactory message
Returns the EPR for a given class
<xsd:element name="getClassFactory">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="classUri" maxOccurs="1" minOccurs="1" ref="tns:Uri"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getClassFactoryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="epr" ref="wsa:EndpointReference"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
15
RDFSRepositoryService: sample messages (II)
query message
Performs a SELECT or CONSTRUCT query to the repository in a
given QL and returns the result as a table of string values
<xsd:element name="query">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="queryString" maxOccurs="1" minOccurs="1" ref="tns:Query"/>
<xsd:element name="queryLanguage" maxOccurs="1" minOccurs="1" ref="tns:Language"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="queryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="resourceSet" minOccurs="0" maxOccurs="unbounded" ref="tns:Row"/>/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
16
RDFSClassService
RDFSRepositorySelector
Service
RDFSRepositorySelectorDescription
RDFSRepositorySelectorAccess
RDFSRepositorySelectorFactory
RDFSRepository
Service
RDFSRepositoryDescription
RDFSRepositoryAccess
RDFSRepositoryFactory
RDFSClass Service
RDFSClassDescription
RDFSClassAccess
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
17
RDFSClassService: sample messages (I)
getSubclasses message
Returns all the subclasses of the class
<xsd:element name="getSubClasses">
<xsd:complexType/>
</xsd:element>
<xsd:element name="getSubClassesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="classes" minOccurs="0" maxOccurs="unbounded" ref="tns:Uri"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
18
RDFSClassService: sample messages (II)
getSuperClasses message
Returns all the superclasses of the class
<xsd:element name="getSuperClasses">
<xsd:complexType/>
</xsd:element>
<xsd:element name="getSuperClassesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="classes" minOccurs="0" maxOccurs="unbounded" ref="tns:Uri"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
19
Configuring the system…
RDFSRepository.rdfs Structure
RDFSNamespace
has
RDFSRepository
uri
SC
More RDF(S) Repositories here to be added
RDFSSesameRepository
SC
RDFSSesameFileRepository
SC
For example:
• Jena RDF(S) storage
• Oracle-RDF
• RDF distributed systems (ATLAS)
SC
RDFSSesameMemoryRepository
file
RDFSSesameRemoteRepository
user
password
SC
SC
RDFSSesameHTTPRepository
RDFSSesameRMIRepository
url
rmiuri
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
20
Sample configuration
RDFSRepository.rdf example
<?xml version="1.0" encoding="WINDOWS-1252"?>
<rdf:RDF xmlns:rdfs_repos="http://wsdaiordfs.eu.ist.ontogrid/RDFSRepository#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description
rdf:about="http://wsdaiordfs.eu.ist.ontogrid/RDFSRepository#civil_file">
<rdfs:comment>A testing file</rdfs:comment>
<rdfs:label>civil_file</rdfs:label>
<rdfs_repos:has
rdf:resource="http://wsdaiordfs.eu.ist.ontogrid/RDFSRepository#civil"/>
<rdfs_repos:file>/etc/ws-daio-rdfs/Civil_Personality.rdfs</rdfs_repos:file>
<rdf:type rdf:resource="http://wsdaiordfs.eu.ist.ontogrid/
RDFSRepository#RDFSSesameFileRepository"/>
</rdf:Description>
<rdf:Description rdf:about="http://wsdaiordfs.eu.ist.ontogrid/RDFSRepository#civil">
<rdfs:comment>An example namespace.</rdfs:comment>
<rdfs:label>civil</rdfs:label>
<rdfs_repos:uri>http://webode.dia.fi.upm.es/RDFS/Civil_Personality#</rdfs_repos:uri>
<rdf:type
rdf:resource="http://wsdaiordfs.eu.ist.ontogrid/RDFSRepository#RDFSNamespace"/>
</rdf:Description>
</rdf:RDF>
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
21
Where we are moving to…
WS-DAIOnt-RDF(S) Specification
Repository
SelectorAccess
Repository
SelectorService
Repository
SelectorFactory
RepositoryService
Medium
interface tier
Repository
Access
Resource
Service
Repository
AccessFactory
Class
Service
Container
Service
Class
Access
Property
Access
Statement
Access
Container
Access
Lower
interface tier
Alt
Access
Alt
Service
RDFSConnector
List
Access
Container
Factory
List
Service
Statement
Service
Sesame
Connector
Jena
Connector
Oracle
Connector
Sesame
RDF Storage
Jena
RDF Storage
Oracle
RDF Storage
Container
IteratorAccess
...
RDF(S) Storage
Implementation Layer
Resource
Access
Property
Service
Web Service
Implementation Layer
Upper
interface tier
WS-DAIOnt-RDF(S) Implementation
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
22
Access to WS-DAIOnt-RDF(S) implementation
 Publications
 WS-DAIOnt: Ontology Access Provisioning in Grid
Environments. Esteban Gutiérrez M, Gómez-Pérez A,
Bechhofer S. Knowledge and Data Management in Grids
(Springer CoreGRID Series). In press.
 Source code
 http://www.ontogrid.net/, For Downloading Distributions
 Access to CVS
Connection type: pserver
user: ontogrid
password: not needed
Host: rpc262.cs.man.ac.uk
Port: 2401
Repository path: /local/ontogrid/cvsroot
module: prototype/ws-daio-rdfs
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
23
Ongoing development workplan in OntoGrid
 First spec for WS-DAIOnt
 Ontogrid deliverable d3.1
 WS-DAIOnt-RDF(S) implementation
 access to RDF(S) ontologies…
 … stored in Sesame (download it !!)
 … stored in Jena (July 2006)
 Update the Spec at the end of (Sept 2006)
 WS-DAIOnt-OWL
 spec & first implementation (Sept 2007)
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
24
GGF activities
 BoF discussion in GGF16 and GGF17
 Chartering the RDF(S) access initiative as part of
the DAIS WG
• Joint collaboration OntoGrid (UPM) + AIST
 DAIS RDF F2F Breakout session on friday
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
25
Use WS-DAIOnt-RDF(S)!
available at:
www.ontogrid.net
Feedback to:
mesteban@fi.upm.es
omunoz@fi.upm.es
Acknowledgements to the OntoGrid
consortium
RDF, Ontologies and Meta-Data Workshop, Edinburgh, June 7th-9th 2006
26
Download