OWSCIS: Ontology and Web Service based Cooperation of Information Sources

22
OWSCIS Ontology and Web Service based Cooperation of Information Sources SITIS'2007, Shanghai, China, December 2007 aji Ghawi , Thibault Poulain, Guillermo Gomez and Nadine Cullo Laboratoire Electronique, Informatique et Image UMR CNRS 5158 Université de Bourgogne, Dijon, FRANCE

description

OWSCIS: Ontology and Web Service based Cooperation of Information Sources. 3rd International Conference on Signal-Image Technology & Internet-based Systems (SITIS' 2007), Shanghai, China, December 2007.

Transcript of OWSCIS: Ontology and Web Service based Cooperation of Information Sources

Page 1: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

OWSCIS

Ontology and Web Service based Cooperation of Information Sources

SITIS'2007, Shanghai, China, December 2007

Raji Ghawi, Thibault Poulain, Guillermo Gomez and Nadine CullotLaboratoire Electronique, Informatique et Image

UMR CNRS 5158 Université de Bourgogne, Dijon, FRANCE

Page 2: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

2

Outlines

Introduction Related works OWSCIS Architecture Mapping Process Querying Process

Decomposition Resolution Recomposition

Future Works

Page 3: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

3

Introduction

Interoperability Problem Distrubtion Hetereogeniety Instability

Solutions Ontologies Web Services

Page 4: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

4

Related Works (existing systems)

BUSTER SIMS KRAFT COIN Carnot InfoSleuth OBSERVER …

Page 5: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

5

Related Works (features)

Information Sources DB, XML, files, ... Dynamic .vs. Static

Architecture Agent-based Mediator-based

Use of Ontology Single, Multiple, Hybrid

Ontology Specification Language Query Process

Page 6: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

6

1. OWSCIS Ontology and Web Service - based Cooperation of Information Sources

Hybrid Ontology Approach Local Ontologies and Reference Ontology

Web Service - Oriented Architecture GAV (Global As View).

Page 7: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

7

OWSCIS Architecture

Knowledge Base

VisualisationWeb Service

Data Provider Data Provider

End User

Data Provider

QueryingWeb Service

MappingWeb Service

LocalOntology

Reference Ontology

LocalOntology

LocalOntology

Page 8: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

8

Knowledge Base

MappingDirectory

Reference Ontology

Tool Box

Reference ontology specific knowledge domaine OWL-DL

Mapping directory correspondances between terms of

reference and local ontologies Toolbox

tools and methods used by the mapping web service

Knowledge BaseVisualisationWeb Service

Data Provider Data Provider

End User

Data Provider

QueryingWeb Service

MappingWeb Service

LocalOntology

Reference Ontology

LocalOntology

LocalOntology

Page 9: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

9

Data Provider

Knowledge BaseVisualisationWeb Service

Data Provider Data Provider

End User

Data Provider

QueryingWeb Service

MappingWeb Service

LocalOntology

Reference Ontology

LocalOntology

LocalOntology

Information sources are wrapped to a local ontology

using DB2OWL for databases Two types of mappings Local ontology has no instances

DB2OWL

Database

Mappings

Local Onto Ref. Onto

DB Local Onto

Local Ontology

Page 10: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

10

Mapping Web Service

Knowledge BaseVisualisationWeb Service

Data Provider Data Provider

End User

Data Provider

QueryingWeb Service

MappingWeb Service

LocalOntology

Reference Ontology

LocalOntology

LocalOntology

Concepts Similarity

Roles Similarity

Refining

Mappings Estimation

Mapping Web Service

MappingsDirectory

Reference Ontology

Tool Box

Local Ontology

Mapping local ontologies to the reference domain ontology

Comparing ontologies using the methods defined in the toolbox

Storing produced mappings into the appropriate data provider

Updating the mappings directory

Page 11: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

11

Querying Web Service

QueryDecomposition

QueryRecomposition

Querying Web Service

End User

Knowledge BaseVisualisationWeb Service

Data Provider Data Provider

End User

Data Provider

QueryingWeb Service

MappingWeb Service

LocalOntology

Reference Ontology

LocalOntology

LocalOntology

MappingsDirectory

Reference Ontology

VisualisationWeb Service

Mapping users submit queries in terms of the reference ontology

A query is decomposed into a set of modular queries using the mapping directory

Each sub-query is resolved in a data provider

Partial results are recomposed giving the final query result

Page 12: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

12

Visualisation Web Service

Knowledge BaseVisualisationWeb Service

Data Provider Data Provider

End User

Data Provider

QueryingWeb Service

MappingWeb Service

LocalOntology

Reference Ontology

LocalOntology

LocalOntology

VisualisationWeb Service

End User

QueryingWeb Service

Visualization of the reference ontology

Visualization of the queries and their results.

Enriching the results of the query using the semantic information described in the reference ontology.

Page 13: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

13

Mapping Process

1. Preprocessing: cleaning up the data

2. Similarity estimation: giving a numerical similarity estimation value to all pairs of concepts

Semantic : extract known words from the concepts names and perform a semantic similarity estimation over them.

Structural : estimate structural similarity by comparing concept names as a string.

3. Refining: solving cases where the similarity value between two concepts is neither high

enough nor low enough to determine whether there is an equivalence or not.4. Exploitation:

Translating similarities from their numerical values into mappings. Automatically: producing the overall mapping between the two ontologies Iteratively: the program suggests what appears to be the best mapping, and let the

expert validate or not the choice.

Page 14: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

14

Query Process: Overview

Query Web Service

recomposedecompose

Visualization Web Service

MappingDirectory

SPARQLUser query

SPARQLsubquery1

SPARQLresult1

SQLquery1

SQLResult1

Database

Local OntologyDB ↔

Local Onto

rewrite

translatereformulate

Ref. Onto ↔ Local Onto

SQL statementsDB2OWL

Mapping Web Service

Data Provider

Page 15: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

15

Query Decomposition (Example)

PersonfirstNamelastName

StudentAuthor

Session

Referencetitleyear

BookISBN

Modulemodule_name

Hallhall_namebuilding

Publisherpub_name

pub_address

Article

Lecturer

book_author

session_modulesession_hallbook_publisher

session_lecturer PersonfirstNamelastName

Student

Session

Modulemodule.name

Hallhall.namebuilding

Lecturer

session.lecturer

session.modulesession.hall

Authorauthor.lastNameauthor.firstName

Referencetitleyear

BookISBN

Article book.author

Global Ontology

Local Ontology 1

Local Ontology 2

Page 16: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

16

SELECT ?tWHERE { ?b ro:book_author ?a . ?b ro:title ?t . ?a ro:lastName ?ln . ?a ro:firstName ?fn . ?s ro:session_lecturer ?l . ?l ro:lastName ?ln . ?l ro:firstName ?fn . ?s ro:session_module ?m . ?m ro:module_name "Database" .}

(d) Rewritten sub-query2 (c) Rewritten sub-query1

SELECT ?ln ?fnWHERE { ?s lo2:session.lecturer ?l . ?s lo2:session.module ?m . ?m lo2:module.name "Database". ?l lo2:lastName ?ln . ?l lo2:firstName ?fn .}

SELECT ?ln ?fn ?tWHERE { ?b lo1:title ?t . ?b lo1:book.auther ?a . ?a lo1:author.lastName ?ln . ?a lo1:author.firstName ?fn .}

(b) Sub-query2(a) Sub-query1

SELECT ?ln ?fnWHERE { ?s ro:session_lecturer ?l . ?s ro:session_module ?m . ?m ro:module_name "Database" . ?l ro:lastName ?ln . ?l ro:firstName ?fn .}

SELECT ?ln ?fn ?tWHERE { ?b ro:title ?t . ?b ro:book_author ?a . ?a ro:lastName ?ln . ?a ro:firstName ?fn .}

Page 17: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

17

SPARQL-to-SQL translation BGP Construction

lo2:firstName SELECT person.personId AS C0, person.firstName AS C1 FROM person

lo2:lastName SELECT person.personId AS C0, person.lastName AS C1 FROM person

lo2:session.lecturer SELECT session.sessionId AS c0, lecturer.lecturerId AS c1 FROM session, lecturer WHERE session.lecturerId = lecturer.lecturerId

lo2:session.module SELECT session.sessionId AS c0, module.moduleId AS c1 FROM session, module WHERE session.moduleId = module.moduleId

lo2:module.name SELECT module.moduleId AS c0, module.moduleName AS c1 FROM module

?s

?l ?m

?ln «Database»

:session.lecturer

:lastName :module.name

:session.module

?fn

:firstName

SELECT ?ln ?fnWHERE { ?s lo2:session.lecturer ?l . ?s lo2:session.module ?m . ?m lo2:module.name "Database". ?l lo2:lastName ?ln . ?l lo2:firstName ?fn .}

V0

V1

V2

V3

V4

Page 18: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

18

SPARQL-to-SQL translation Joining Statements

SELECT V0.C1 AS ln, V1.C1 AS fnFROM (SELECT person.personId AS C0, person.firstName AS C1 FROM person) AS V0, (SELECT person.personId AS C0, person.lastName AS C1 FROM person) AS V1, (SELECT session.sessionId AS C0, lecturer.lecturerId AS C1 FROM session, lecturer WHERE (session.lecturerId = lecturer.lecturerId)) AS V2, (SELECT session.sessionId AS C0, module.moduleId AS C1 FROM session, module WHERE (session.moduleId = module.moduleId)) AS V3, (SELECT module.moduleId AS C0, module.moduleName AS C1 FROM module) AS V4WHERE (V0.C0 = V1.C0) AND (V2.C1 = V0.C0)AND (V2.C0 = V3.C0) AND (V3.C1 = V4.C0)AND (V4.C1 = 'Database')

?s

?l ?m

?ln «Database»

:session.lecturer

:lastName :module.name

:session.module

?fn

:firstNameV0 V1

V2 V3

V4

C0

C1

C0

C1

C0

C1

C0

C1

C0

C1

Page 19: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

19

Query Recomposition

Each sub-query result forms a new relation. These relations are joined using shared variables.

?t (<R1> <R2>)

?ln, ?fn

R1(?ln,?fn,?t) R2(?ln,?fn)

SELECT ?ln ?fnWHERE { ?s ro:session_lecturer ?l . ?s ro:session_module ?m . ?m ro:module_name "Database" . ?l ro:lastName ?ln . ?l ro:firstName ?fn .}

SELECT ?ln ?fn ?tWHERE { ?b ro:title ?t . ?b ro:book_author ?a . ?a ro:lastName ?ln . ?a ro:firstName ?fn .}

Page 20: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

20

Implementation

JAVA Jena API JDBC WordNet API

Implemented parts: DB2OWL SPARQL-to-SQL translator. inter-ontology mapping module.

Page 21: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

21

Future works

Map other data models to ontologies Object-Oriented Databases XML documents

Ontology enrichment Adding complex formulas to the local ontology Translating queries over them into SQL

Page 22: OWSCIS: Ontology and Web Service based Cooperation of Information Sources

22

Thank you for your attention