ontology-based data mediation for semantic environments phd thesis defense candidate: adrian mocan...
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