ontology-based data mediation for semantic environments phd thesis defense candidate: adrian mocan...

Post on 26-Mar-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ontology-Based Data Mediation for Semantic Environments

PhD Thesis Defense

Candidate: Adrian Mocan

Supervisor: Prof. Dr. Manfred Hauswirth

National University of Ireland, Galway, Ireland

3rd of July, 2008

National University of Ireland, Galway 2

Overview

Context and Motivation

Formal Model for Mappings Creation Design-time Ontology Mapping Run-time Data Mediation

Evaluation Conclusions

National University of Ireland, Galway 3

Motivation and Context

Semantic Web Services

Semantic Execution Environment Enable the discovery, selection, composition, invocation of

Web Services

Different ontologies might be used in describing services offered by different providers

Mediation required during the discovery, invocation Data mediation solutions are required

National University of Ireland, Galway 4

Problem Definition

Instance Transformation scenario

National University of Ireland, Galway 5

Solution

Design-time / Run-time Separation

Target Ontology

Source Ontology

Storage

Mappings

Mappings

Source Instance

Target Instance

Ontology Mapping Tool

Run-time Data Mediator

inTermsOf

inTermsOf

mediated(X_417, 'inEuro')['inEuro' -> Y_419] :- X_417['hasCurrency' -> Y_418], X_417['hasCurrency' -> 'dolar' ], X_417['hasCurrency' -> 'euro' ], Y_419 = 'false', Y_419 = 'true'.

mediated(X_420, 'hour')['hour' -> Y_421] :- X_420['hour' -> Y_421].mediated(X_422, 'terms')['terms' -> mediated(Y_423, ''payment'')] :-

X_422['issuing_terms' -> Y_423], 'ticket'['issuing_terms' => 'terms' ], 'travelVoucher'['terms' => 'payment' ].

mediated(X_424, 'last')['last' -> Y_425] :- X_424['lastName' -> Y_425].mediated(X_426, 'minutes')['minutes' -> Y_427] :-

X_426['minutes' -> Y_427].mediated(X_428, 'month')['month' -> Y_429] :- X_428['month' -> Y_429].mediated(X_430, 'type')['type' -> Y_431] :- X_430['type' -> Y_431].mediated(X_432, 'year')['year' -> Y_433] :- X_432['year' -> Y_433].

mediated(X_417, 'inEuro')['inEuro' -> Y_419] :- X_417['hasCurrency' -> Y_418], X_417['hasCurrency' -> 'dolar' ], X_417['hasCurrency' -> 'euro' ], Y_419 = 'false', Y_419 = 'true'.

mediated(X_420, 'hour')['hour' -> Y_421] :- X_420['hour' -> Y_421].mediated(X_422, 'terms')['terms' -> mediated(Y_423, ''payment'')] :-

X_422['issuing_terms' -> Y_423], 'ticket'['issuing_terms' => 'terms' ], 'travelVoucher'['terms' => 'payment' ].

mediated(X_424, 'last')['last' -> Y_425] :- X_424['lastName' -> Y_425].mediated(X_426, 'minutes')['minutes' -> Y_427] :-

X_426['minutes' -> Y_427].mediated(X_428, 'month')['month' -> Y_429] :- X_428['month' -> Y_429].mediated(X_430, 'type')['type' -> Y_431] :- X_430['type' -> Y_431].mediated(X_432, 'year')['year' -> Y_433] :- X_432['year' -> Y_433].

Formal Model

Software implementations have been developed

National University of Ireland, Galway 6

Formal Model Main Contributions

Formal Model for the mapping creation Ontology language independent model

Formalizing the main concepts behind both the design-time and run-time phases

Algorithms and methods are expressed in terms of this model

Can be applied to approaches targeting other ontology models/languages

Inherited by the grounding of the model to the same ontology model

Formal ModelFormal Model

National University of Ireland, Galway 7

Abstract Elements

Items Primitive Items Compound Items Description Items

Relationships describes

Description Item Compound Item

successor Description Item Successor Item

Primitive Item Compound Item

Formal ModelFormal Model

Primitive Item

Compound Item

Description Item describes

Successor Itemsuccessor

Entities described by other entities

is ais a

Successor Itemsx.(ci(x) <=> y.(di(y) ٨ describes(y, x))) (1)

x.y.(describes(x, y) => ci(y) ٨ di(x)) (2)

x.(di(x) <=> y.(si(y) ٨ successor(y, x))) (3)

x.y.(successor(x, y) => di(y) ٨ si(x)) (4)

x.(si(x) => pi(x) ∨ ci(x))) (5)

x.((ci(x) ٨ pi(x))) (6)

x.((ci(x) ٨ di(x))) (7)

x.((pi(x) ٨ di(x))) (8)

x.(ci(x) <=> y.(di(y) ٨ describes(y, x))) (1)

x.y.(describes(x, y) => ci(y) ٨ di(x)) (2)

x.(di(x) <=> y.(si(y) ٨ successor(y, x))) (3)

x.y.(successor(x, y) => di(y) ٨ si(x)) (4)

x.(si(x) => pi(x) ∨ ci(x))) (5)

x.((ci(x) ٨ pi(x))) (6)

x.((ci(x) ٨ di(x))) (7)

x.((pi(x) ٨ di(x))) (8)

National University of Ireland, Galway 8

Perspectives and Contexts [1]

Perspectives

Contexts

Formal ModelFormal Model

National University of Ireland, Galway 9

Perspectives and Contexts [2]

Formal ModelFormal Model

successor

CI_1

DI_11 CI_2 describes

successor

CI_2

DI_21 PI_2 describes

successorDI_22 CI_3 describes

successor

CI_3

DI_31 PI_1 describes

PI_2

PI_1

Perspective = Context 0

Context n

National University of Ireland, Galway 10

Mapping Operation

Mapping Context:

Operation: Contexts update Creation of mappings

Depends on the chosen x and y Depends on the perspectives Depends on the current contexts

Formal ModelFormal Model

National University of Ireland, Galway 11

successor

CI_1

DI_11 CI_2 describes

successor

CI_2

DI_21 PI_2 describes

successorDI_22 CI_3 describes

successor

CI_3

DI_31 PI_1 describes

PI_2

PI_1

Decomposition

Context 0

successor

CI_2

DI_21 PI_2 describes

successorDI_22 CI_3 describes

Decomposition

Decomposition and Contexts

Context 1

successor

CI_3

DI_31 PI_1 describes

Context 2

successor

CI_2

DI_21 PI_2 describes

successorDI_22 CI_3 describes

Context 1

Decomposition

Formal ModelFormal Model

National University of Ireland, Galway 12

Design-time Ontology Mapping

First phase of the mediation solution Human-driven activity Produces a set of mappings

(i.e. an alignment between two ontologies)

National University of Ireland, Galway 13

Design-time Ontology MappingMain Contributions

Design-time Ontology Mapping Based on the Formal Model New techniques able to enhance the semi-

automatic aspect of ontology mapping Ontology perspectives Decomposition and Mapping Contexts Top-down and Bottom-up mapping strategies Implementation of these techniques as part of

a mapping tool

National University of Ireland, Galway 14

Ontology Perspectives [1]

Semi-automatic methods involve graphical tools and techniques for ontology visualization

Depending of the visualization technique on the ontology certain mismatches become easier/harder to address

The perspectives or the view-points adopted to visualize the source and the target ontologies play a crucial role

National University of Ireland, Galway 15

Ontology Perspectives [2]

Each ontology perspective involves one instantiation of the model

Formal ModelFormal Model

successor

CI_1

DI_11 CI_2describes

successor

CI_2

DI_21 PI_2describes

successorDI_22 CI_3

describes

successor

CI_3

DI_31 PI_1describes

PI_2

PI_1

Perspective = Context 0

successor

CI_1

DI_11 CI_2describes

successor

CI_2

DI_21 PI_2describes

successorDI_22 CI_3

describes

successor

CI_3

DI_31 PI_1describes

PI_2

PI_1

successor

CI_1

DI_11 CI_2describes

successor

CI_1

DI_11 CI_2describes

successor

CI_2

DI_21 PI_2describes

successorDI_22 CI_3

describessuccessor

CI_2

DI_21 PI_2describes

successorDI_22 CI_3

describes

successor

CI_3

DI_31 PI_1describes

successor

CI_3

DI_31 PI_1successor

CI_3

DI_31 PI_1describes

PI_2

PI_1

Perspective = Context 0

National University of Ireland, Galway 16

Ontology Perspectives [3]

concept personname ofType _stringage ofType _integerhasGender ofType genderhasChild ofType personmarriedTo ofType person

concept gendervalue ofType _string

instance male memberOf gendervalue hasValue "male“

instance female memberOf gendervalue hasValue "female"

concept humanname ofType _stringage ofType _integernoOfChildren ofType _integer

concept man subConceptOf human

concept woman subConceptOf human

concept marriage hasParticipant ofType humandate ofType _date

Source Ontology Target Ontology

National University of Ireland, Galway 17

Ontology Perspectives [3]

string integer date human

├ name → string├ age → integer└ noOfChildren → integer

man├ name → string├ age → integer└ noOfChildren → integer

woman├ name → string├ age → integer└ noOfChildren → integer

marriage├ hasParticipant → human└ date → date

Source OntologyTarget Ontology

string integer person

├ name → string├ age → integer├ hasGender → gender├ hasChild → person└ marriedTo → person

gender└ value → string

PartOf

PartOf

pi data types, concepts without attributesci concepts with attributesdi attributes

National University of Ireland, Galway 18

Ontology Perspectives [3]

string integer person

├ hasGender → male:gender└ hasGender → female:gender

gender

string integer human man woman marriage

Source Ontology Target Ontology

InstanceOf InstanceOf

di attributes that can be filled by constants (afc) included in the ontologyci concepts with at least one afcpi data types, concepts without any afc-s

National University of Ireland, Galway 19

Ontology Perspectives [3]

string integer date person gender name

├ hasDomain → person└ hasRange → string

age├ hasDomain → person└ hasRange → integer

... marriedTo

├ hasDomain → person└ hasRange → person

value├ hasDomain → gender└ hasRange → string

string integer date human

├ name → string├ age → integer└ noOfChildren → integer

man├ name → string├ age → integer└ noOfChildren → integer

woman├ name → string├ age → integer└ noOfChildren → integer

marriage├ hasParticipant → human└ date → date

Source Ontology Target Ontology

RelatedBy

PartOfpi conceptsci attributesdi {hasDomain, hasRange}

National University of Ireland, Galway 20

Implementing Perspectives

Each role (i.e. items) have to be filled by an ontological entity

Each relationship has to be defined (i.e. describes, successor)

Define what kind mappings can be created using combination of these perspectives

Three perspectives defined in this thesis PartOf, InstanceOf, RelatedBy

Two of them fully implemented in the mapping tool

Formal ModelFormal Model

National University of Ireland, Galway 21

Decomposition and Context [1]

Not all the information contained in the perspective is needed in a given step By isolating the domain experts from the

unnecessary information they can better concentrate on their tasks

National University of Ireland, Galway 22

Decomposition and Context [2]

National University of Ireland, Galway 23

Top-Down and Bottom-Up Mapping Strategies

Bottom-Up Start from the simple entities to be mapped Continue with more complex ones

Top-Down Start from what is of interest to be mapped in the two

ontologies The semi-automatic support guides the next steps

Employ two aspects of the semi-automatic support Suggestion Algorithms Decomposition and context

These two strategies can be combined

National University of Ireland, Galway 24

Ontology Mappings

Abstract representation of mappings Alignment format developed as part of the KW [ESS06]

Schema elements (e.g. concepts, attributes)

Restriction on the schema elements (e.g. allowed values for an attribute)

Concept2Concept (C2C)Attribute2Attribute (A2A)Concept2Attribute (C2A)Attribute2Concept (A2C)

mapping(sourceEntity; [sourceEntityRestriction]; targetEntity; [targetEntityRestriction];

typeOfMapping)

[ESS06] J. Euzenat, F. Scharffe, and L. Serafini. Specification of the alignment format. Knowledge Web Deliverable D2.2.6, 2006.

National University of Ireland, Galway 25

Design-time Ontology MappingSummary

Allows the semi-automatic creation of mappings between a Source and a Target Ontology

Goals Graphical interface Set of mechanisms towards semi-automatic creation

of mappings Capturing the semantic relationships identified in

the process Storing these mappings in a persistent storage

Output Abstract representation of the mappings

National University of Ireland, Galway 26

Run-time Data Mediation

Second phase of the mediation solution Once the mappings are available they can be used to

do data mediation Mappings need to be “prepared” for a mediation

scenario and executed

Abstract Mappings

Repr.

Abstract Mappings

Repr.

RulesGenerator

RulesGenerator

Instance

Source

Instance

Source

ReasoningEnvironmentReasoning

Environment

Mapping Rules

Mappings

Instance

Target

Instance

Target

OntologiesOntologies

National University of Ireland, Galway 27

Run-time Data MediationMain Contributions

Main Contributions Engine implemented on top of a

generic rule-reasoner Decoupling between abstract representation

of mappings and their executable representation

Grounding of the abstract representation1 to F-Logic

Dynamic generation of rules based on the heterogeneous data to be mediated

1The abstract representation of mappings is not part of the work in this thesis

National University of Ireland, Galway 28

Run-time Phase [1]

Grounding the abstract mappings

Associate a formal semantics to the mappings Obtain rules in a concrete language

Why not at design time? Offers a grater flexibility Different groundings for the same mappings set Different execution environments for the grounded mappings Easier to maintain the abstract mappings Important point of alignment

Caching mechanism can be used

+

Abstract Mappings

Repr.

Abstract Mappings

Repr.

RulesGenerator

RulesGenerator

Instance

Source

Instance

Source

ReasoningEnvironmentReasoning

Environment

Mapping Rules

Mappings

Instance

Target

Instance

Target

OntologiesOntologies

National University of Ireland, Galway 29

Run-time Phase [2]

Main Mediation Scenario: Instance Transformation

Inputs Mappings Incoming data

Source ontology instances Features

Completely automatic process Grounding of the abstract mappings to a concrete language

F-Logic, WSML-Rule Relies on reasoner to evaluate the mapping rules

Outputs Mediated data

Target ontology instances

Abstract Mappings

Repr.

Abstract Mappings

Repr.

RulesGenerator

RulesGenerator

Instance

Source

Instance

Source

ReasoningEnvironmentReasoning

Environment

Mapping Rules

Mappings

Instance

Target

Instance

Target

OntologiesOntologies

Abstract Mappings

Repr.

Abstract Mappings

Repr.

RulesGenerator

RulesGenerator

Instance

Source

Instance

Source

ReasoningEnvironmentReasoning

Environment

Mapping Rules

Mappings

Instance

Target

Instance

Target

OntologiesOntologies

National University of Ireland, Galway 30

Evaluation

Implicit evaluation Tools have been implemented based on the

conceptual ideas Applied on show-cases in European projects

(DIP, SemanticGov, SEEMP, SUPER)

National University of Ireland, Galway 31

EvaluationSEEMP Project

3 ontology sets ARL: 323 Concepts, 296 Axioms EURES: 425 Concepts, 395 Axioms Reference Ontology: 485 Concepts, 13 Axioms

Total No. of Rules

Required No. of Rules

Grounding Time

Creating KB Time

Querying KB Time

Cleaning Results Time

Total Time

EURES RO(22 Inst)

1048 499 172ms 7828ms 78ms 15ms 8140ms

RO TELMI(23 Inst)

913 344 47ms 5453ms 94ms 15ms 5609ms

EURES TELMI(20 Inst)

1677 157 46ms 3454ms 109ms 16ms 3657ms

Simple Ex. (7 inst)

29 27 0ms 266ms 31ms 0ms 297ms

National University of Ireland, Galway 32

Evaluation

Implicit evaluation Tools have been implemented based on the

conceptual ideas Applied on show-cases in European projects

(DIP, SemanticGov, SEEMP, SUPER)

Explicit evaluation Ontology Mapping Tool Comparison

MAFRA, PROMPT Formal Model evaluation

Measures from conceptual and reference modeling

National University of Ireland, Galway 33

Conclusions

Ontology-based Data Mediation Solution New methods for enhancing the machine

support during the mapping process Focuses on Instance transformation scenario Provides on ontology language independent

formal model Formal and reusable definition of several

strategies and methods for semi-automatic mappings creation

Software implementation of the main conceptual ideas

National University of Ireland, Galway 34

Thank you for your attention!

Q&A

National University of Ireland, Galway 35

Back-up Slides

National University of Ireland, Galway 36

Formal Model

National University of Ireland, Galway 37

The Formal model can be used in assessing the quality of mappings

From the Instance Transformation scenario point of view

Completeness of Mappings Complete Mappings for the Source Data

Complete Mappings for the Target Data

Quality Analysis of Mappings [1]

Formal ModelFormal Model

National University of Ireland, Galway 38

Quality Analysis of Mappings [2]

Containment of Mappings

Maximality of Data Structures

Formal ModelFormal Model

National University of Ireland, Galway 39

Design-time Phase

National University of Ireland, Galway 40

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

PartOf Perspective

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

National University of Ireland, Galway 41

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

PartOf to PartOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

class to class mapping (classMapping)

National University of Ireland, Galway 42

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

PartOf to PartOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

class to class mapping (classMapping) attribute to attribute mapping (attributeMapping)

National University of Ireland, Galway 43

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

PartOf to PartOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

class to class mapping (classMapping) class to class mapping (classMapping) class to attribute mapping (classAttributeMapping)

National University of Ireland, Galway 44

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

PartOf to PartOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_concept (data type) compound_concept

├ attribute1 → primitive_concept└ attribute2 → compound_concept

class to class mapping (classMapping) class to class mapping (classMapping) class to attribute mapping (classAttributeMapping)

National University of Ireland, Galway 45

InstanceOf Perspective

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

National University of Ireland, Galway 46

InstanceOf to InstanceOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

class to class mapping (classMapping)

National University of Ireland, Galway 47

InstanceOf to InstanceOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

class to class mapping (classMapping) attribute to attribute mapping (attributeMapping)

2*attributeValueCondition(valueCondition)

National University of Ireland, Galway 48

InstanceOf to InstanceOf Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

regular_concept instance_concept

├ attribute1 → regular_concept└ attribute2 → instance_concept

class to class mapping (classMapping) class to class mapping (classMapping) class to attribute mapping (classAttributeMapping)

AttributeTypeCondition

National University of Ireland, Galway 49

concept attribute

├ hasDomain → concept└ hasRange → concept

RelatedBy Perspective

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

concept attribute

├ hasDomain → concept└ hasRange → concept

National University of Ireland, Galway 50

concept attribute

├ hasDomain → concept└ hasRange → concept

RelatedBy to RelatedBy Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

concept attribute

├ hasDomain → concept└ hasRange → concept

attribute to attribute mapping (attributeMapping)

National University of Ireland, Galway 51

concept attribute

├ hasDomain → concept└ hasRange → concept

RelatedBy to RelatedBy Mappings

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

primitive_item compound_item

├ hasDescription1 → primitive_item└ hasDescription2 → compound_item

concept attribute

├ hasDomain → concept└ hasRange → concept

attribute to attribute mapping (attributeMapping) class to class mapping (classMapping)

National University of Ireland, Galway 52

Top-Down and Bottom-Up Mapping Strategies [2]

Bottom-Up Advantages

Better suggestions since the lexical algorithms tend to return better results when no structure is present

Disadvantages Domain experts has to discover by themselves the elements

to be mapped

Top-Down Advantages

Decomposition and contexts offer guidance and support in identifying the elements that need to be mapped

Disadvantages Lower suggestions quality

Structural algorithms rely on the already created mappings

These two strategies can be combined

National University of Ireland, Galway 53

Implementation

WSMX Data MediationMapping Tool

Semantic Web Service

Data Mediation Run-Time

Component

Mappings Storage

Web Browser

Instances

Instances

Mappings

Instances

Mappings Mappings

Web Service Modeling Toolkit (WSMT)

Run-Time TestingTool

WSMX

Instances

Data Mediation Run-Time

Component

http://sourceforge.net/projects/wsmt/

http://sourceforge.net/projects/wsmx/

Abstract Mappings

Repr.

Abstract Mappings

Repr.

RulesGenerator

RulesGenerator

Instance

Source

Instance

Source

ReasoningEnvironmentReasoning

Environment

Mapping Rules

Mappings

Instance

Target

Instance

Target

OntologiesOntologies

Formal ModelFormal Model

National University of Ireland, Galway 54

Implementation [2]

WSMO ooMediator

ooMediator _"http://.../ontologyMediator“

…source _"http://.../sourceOntology“

target _"http://.../targetOntology“

hasMediationService_"http://.../datamediator“

webService _"http://.../datamediator“

… capability … interface …

<wsdl:definitions … > …</wsdl:definitions>

Data Mediation

WSDL Web Service

WSMO Semantic Web Service

Abstract Mappings

Repr.

Abstract Mappings

Repr.

RulesGenerator

RulesGenerator

Instance

Source

Instance

Source

ReasoningEnvironmentReasoning

Environment

Mapping Rules

Mappings

Instance

Target

Instance

Target

OntologiesOntologies

Formal ModelFormal Model

National University of Ireland, Galway 55

Run-time Phase

National University of Ireland, Galway 56

Running Examples

concept Person

hasChristianName ofType _string

hasSurname ofType _string

hasGender ofType Gender

dateOfBirth ofType Date

concept Date

day ofType _integer

month ofType _integer

year ofType _integer

concept Gender

instance _1 memberOf Gender

instance _2 memberOf Gender

instance _ memberOf Gender

concept Citizen

hasName ofType Name

hasSex ofType Sex

hasBirthday ofType Date

concept Name

hasFirstName ofType _string

hasSurname ofType _string

concept Date

day ofType _integer

month ofType _integer

year ofType _integer

concept Sex

instance M memberOf Sex

instance F memberOf Sex

instance N memberOf Sex

Source Ontology Target Ontology

National University of Ireland, Galway 57

Mapping Rules in WSMLClass to Class Mapping

mapping(o1#Person, o2#Citizen, C2C)

mediated(?x, o2#Citizen) memberOf o2#Citizen and mapped(o1#Person, o2#Citizen,?x):-

?x memberOf o1#Person

instance johnS

memberOf o1#Person

mediated(johnS, o2#Citizen)

memberOf o2#Citizen

mapped(o1#Person, o2#Citizen, johnS)

National University of Ireland, Galway 58

Mapping Rules in WSMLClass to Attribute Mappings

mapping( o1#Person, o2#Citizen.hasName , C2A)

mediated(?x,o2#Citizen)[hasName hasValue mediated(?x, o2#Name)] memberOf o2#Citizen:-

?x memberOf o1#Person and

mediated(?x,o2#Name)[?anAttribute hasValue ?aValue] memberOf o2#Name.

instance johnS memberOf o1#Person

mediated(?x,o2#Name)[…] memberOf

o2#Name

mediated(johnS,o2#Citizen)[hasName

hasValue mediated(johnS, o2#Name)]

memberOf o2#Citizen

National University of Ireland, Galway 59

Mapping Rules in WSMLAttribute to Attribute Mappings (1)

mapping(o1#Person.hasSurname, o2#Name.hasSurname, A2A)

mediated(?x,o2#Name)[hasSurname hasValue ?v] memberOf o2#Name:-

?x[hasSurname hasValue ?v] memberOf ?subCs and

?subCs subConceptOf o1#Person and mapped(?subCs,o2#Name,?x).

instance johnS[hasSurname

hasValue “Smith”] memberOf o1#Person

mapped(o1#Person, o2#Name, johnS)

mediated(johnS,o2#Name)[hasSurname

hasValue “Smith”] memberOf o2#Name

mapping(o1#Person, o2#Name, C2C)

National University of Ireland, Galway 60

Mapping Rules in WSMLAttribute to Attribute Mappings (2)

mapping(o1#Person.dateOfBirth, o2#Citizen.hasBirthDay, A2A)

mediated(?x,o2#Citizen)[hasBirthDay hasValue mediated(?i, o2#Date)] memberOf o2#Citizen:-

?x[dateOfBirth hasValue ?i] memberOf ?subCs and?subCs subConceptOf o1#Person and mapped(?subCs, o2#Citizen)mediated(?i,o2#Date)[?anAttribute hasValue ?aValue].

instance johnS[dateOfBirth hasValue

johnS_birthdate] memberOf o1#Person

mapped(o1#Person, o2#Citizen, johnS)

mediated(johnS_birthdate, o2#Date)[...]

mediated(johnS,o2#Citizen)[hasBirthDay

hasValue

mediated(johnS_birthdate, o2#Date)] memberOf o2#Citizen

National University of Ireland, Galway 61

Mapping Rules in WSMLAttribute to Class Mappings

National University of Ireland, Galway 62

Mapping Conditions

Conditions that have to hold for the mapping to apply

Three main types Attribute occurrence conditions Attribute type conditions Attribute value conditions

Source

Target

National University of Ireland, Galway 63

Querying and Retrieving the Mediated Instances

?- ?x memberOf o2#Citizen Found < 1 > result to the query: (1) -- ?x = mediated(johnS, o2#Citizen)

?- mediated(johnS, o2#Citizen)[?y hasValue ?z] memberOf o2#Citizen and ?z memberOf ?avC. Found < 3 > results to the query: (1) -- ?z = o2#M, ?avC = o2#Sex, ?y=o2#hasSex (2) -- ?z = mediated(johnS,o2#Name), ?avC = o2#Name, ?y= o2#hasName (3) -- ?z = mediated(johnS_birthDate, o2#Date), ?avC = o2#Date, ?y = o2#hasBirthday

?- mediated(johnS, o2#Name)[?y hasValue ?z] memberOf o2#Name and ?z memberOf ?avC. Found < 2 > results to the query : (1) -- ?z = John, ?avC = string, ?y = o2#hasFirstName (2) -- ?z = Smith, ?avC = string, ?y = o2#hasSurname

...

National University of Ireland, Galway 64

Evaluation

National University of Ireland, Galway 65

Evaluation [2]

Explicit evaluation Design-time Ontology Mapping and

Run-time Data Mediation By comparing the tools with MAFRA and

PROMPT

National University of Ireland, Galway 66

Evaluation [2]

National University of Ireland, Galway 67

Evaluation [2]

National University of Ireland, Galway 68

Evaluation [3]

Measurements of the suggestion algorithms in conjunction with decomposition and context

updates

National University of Ireland, Galway 69

Evaluation [5]

Formal Model Evaluations Conceptual Modeling

Reference Modeling Completeness, Adaptability, Extensibility, Usability,

Re-usability, Acceptance

top related