WSMX Data Mediation Adrian Mocan adrian mocanderi org

  • Slides: 36
Download presentation
WSMX Data Mediation Adrian Mocan adrian. mocan@deri. org 07. 04. 2005 Copyright 2005 Digital

WSMX Data Mediation Adrian Mocan adrian. mocan@deri. org 07. 04. 2005 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. www. deri. org

Content • WSMX Data Mediation - objectives, scenario, approach • Design-Time – GUI –

Content • WSMX Data Mediation - objectives, scenario, approach • Design-Time – GUI – Semiautomatic mapping – Views • Run-Time – Architecture – Usage • Conclusions and Further Developments 07. 04. 2005 2

Overview on WSMX Data Mediation Approach • Objectives – To mediate the interchanged messages

Overview on WSMX Data Mediation Approach • Objectives – To mediate the interchanged messages part of a communication process – To keep the communication process transparent from data representation point of view – To have a semi-automatic mediation process • Assumptions: – – Ontological approach to Data Mediation Communicating parties express data in terms of an ontology Interchanged messages → ontology instances Ontologies conform to WSMO conceptual model for ontologies 07. 04. 2005 3

Scenario • Ontological Approach • Ontology Merging • Ontology Alignment » Instances Transformation 07.

Scenario • Ontological Approach • Ontology Merging • Ontology Alignment » Instances Transformation 07. 04. 2005 4

Data Mediation Prototype • Ontological Approach • Ontology Merging • Ontology Alignment » Instances

Data Mediation Prototype • Ontological Approach • Ontology Merging • Ontology Alignment » Instances Transformation 07. 04. 2005 5

Design Time • Design Time Component → Ontology Mapping System • Inputs – Source

Design Time • Design Time Component → Ontology Mapping System • Inputs – Source Ontology and Target Ontology • Features – – Graphical interface to the human user Set of mechanism 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 • DIP/SEKT mapping language 07. 04. 2005 6

Design Time Component – Features Graphical Interface • Browsing the ontologies • Guide the

Design Time Component – Features Graphical Interface • Browsing the ontologies • Guide the human user • Views based approach • Top-down vs Bottom-up Approach – Top-Down • Start from a specific problem to solve • Determine all the related elements for that mapping – Bottom-Up • Identify the minimal common subset • Contexts • Not all the information in the ontology are relevant for a specific mapping creation step • Updated by applying decomposition 07. 04. 2005 7

Design Time Component – Features Views (I) • View – – Covers only certain

Design Time Component – Features Views (I) • View – – Covers only certain aspects of the ontology Associate roles to the elements part of that view Strategies and algorithms are applied on roles The same algorithms and strategies can be used across the views • Roles – Primitive Item – Compound Item – Description Item • Has a Successor which could be either a Primitive or Compound item • Two views are maintained: one for the source and one for the target ontology 07. 04. 2005 8

Design Time Component – Features Views (II) • primitive_item 1 • compound_item 1 ├

Design Time Component – Features Views (II) • primitive_item 1 • compound_item 1 ├ has. Description 1 → compound_item 2 └ has. Description 2 → primitive_item 1 • primitive_item 2 • primitive_item 3 • compound_item 2 ├ has. Description 1 → primitive_item 3 └ has. Description 2 → compound_item 3 • compound_item 3 ├ has. Description 1 → primitive_item 2 ├ has. Description 2 → primitive_item 1 └ has. Description 3 → primitive_item 3 07. 04. 2005 9

Design Time Component – Features Decomposition • primitive_item 1 • compound_item 1 ├ has.

Design Time Component – Features Decomposition • primitive_item 1 • compound_item 1 ├ has. Description 1 → compound_item 2 └ has. Description 2 → primitive_item 1 • primitive_item 2 • primitive_item 3 • compound_item 2 ├ has. Description 1 → primitive_item 3 └ has. Description 2 → compound_item 3 • compound_item 3 ├ has. Description 1 → primitive_item 2 ├ has. Description 2 → primitive_item 1 └ has. Description 2 → primitive_item 3 07. 04. 2005 10

Design Time Component – Features Decomposition • primitive_item 1 • compound_item 1 ├ has.

Design Time Component – Features Decomposition • primitive_item 1 • compound_item 1 ├ has. Description 1 → compound_item 2 └ has. Description 2 → primitive_item 1 • primitive_item 2 • primitive_item 3 • compound_item 2 ├ has. Description 1 → primitive_item 3 └ has. Description 2 → compound_item 3 • compound_item 3 ├ has. Description 1 → primitive_item 2 ├ has. Description 2 → primitive_item 1 └ has. Description 2 → primitive_item 3 07. 04. 2005 11

Design Time Component – Features Decomposition → Contexts • • primitive_item 1 compound_item 1

Design Time Component – Features Decomposition → Contexts • • primitive_item 1 compound_item 1 • • • primitive_item 2 primitive_item 3 compound_item 2 • compound_item 3 ├ has. Description 1 → compound_item 2 └ has. Description 2 → primitive_item 1 ├ has. Description 1 → primitive_item 3 └ has. Description 2 → compound_item 3 ├ has. Description 1 → primitive_item 2 ├ has. Description 2 → primitive_item 1 └ has. Description 2 → primitive_item 3 • Reveals the description of the decompose item • Updates the contexts • Description of the decomposed item • Ends when there no compound items to decompose 07. 04. 2005 12

Design Time Component – Features Capturing the semantic relationships • The semantic relationships →

Design Time Component – Features Capturing the semantic relationships • The semantic relationships → mappings • Critical step – Links the graphical representation of mappings with their abstract representation – Hides the complexity of the mappings from the human user • Each time a pair of items is chosen a set of mappings are created • Different views imply different mappings for the same action 07. 04. 2005 13

Design Time Component – Features Towards Semi-automatic Mappings • Domain expert role: – To

Design Time Component – Features Towards Semi-automatic Mappings • Domain expert role: – To choose pairs of items from the source and target to be decomposed – Each pair denotes a semantic relationship • Suggest semantic relationships – Lexical Algorithms • Applicability: primitive/compound items & description • Uses lexical relationships between items names • Word. Net + string analyze algorithms – Structural Algorithms • Applicability: compound items • Based on – the already done mappings – items descriptions • Uses the decomposition algorithm 07. 04. 2005 14

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept 07. 04. 2005 ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept 15

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept • class to class mapping (class. Mapping) 07. 04. 2005 16

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept • class to class mapping (class. Mapping) 07. 04. 2005 17

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept • class to class mapping (class. Mapping) • attribute to attribute mapping (attribute. Mapping) • class to class mapping (class. Mapping) 07. 04. 2005 18

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept • class to class mapping (class. Mapping) • attribute to attribute mapping (attribute. Mapping) • class to class mapping (class. Mapping) 07. 04. 2005 19

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept • class to class mapping (class. Mapping) • class to attribute mapping (class. Attribute. Mapping) 07. 04. 2005 20

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept • class to class mapping (class. Mapping) • attribute to class mapping (class. Attribute. Mapping) 07. 04. 2005 21

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept 07. 04. 2005 ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept 22

Design Time Component – Features Capturing the semantic relationships – Part. Of View •

Design Time Component – Features Capturing the semantic relationships – Part. Of View • • primitive_item compound_item • • primitive_concept (data type) compound_concept ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept 07. 04. 2005 ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_concept └ attribute 2 → compound_concept 23

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance 07. 04. 2005 ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance 24

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance 07. 04. 2005 ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance 25

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance • class to class mapping (class. Mapping) 07. 04. 2005 26

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance • class to class mapping (class. Mapping) • attribute to attribute mapping (attribute. Mapping) – (2 x) attribute value condition (value. Condition) 07. 04. 2005 27

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance • class to class mapping (class. Mapping) • attribute to attribute mapping (attribute. Mapping) – (2 x) attribute type condition (type. Condition) 07. 04. 2005 28

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance • class to class mapping (class. Mapping) • class to attribute mapping (class. Attribute. Mapping) – attribute type condition (type. Condition) 07. 04. 2005 29

Design Time Component – Features Capturing the semantic relationships – Instance. Of View •

Design Time Component – Features Capturing the semantic relationships – Instance. Of View • • primitive_item compound_item • • primitive_instance compound_instance ├ has. Description 1 → primitive_item └ has. Description 2 → compound_item ├ attribute 1 → primitive_instance └ attribute 2 → compound_instance • class to class mapping (class. Mapping) • class to attribute mapping (class. Attribute. Mapping) – attribute type condition (type. Condition) 07. 04. 2005 30

Run Time • Run Time Component – Data Mediator • Inputs – Incoming data

Run Time • Run Time Component – Data Mediator • Inputs – Incoming data • Source ontology instances • Features – Completely automatic process – Grounding of the abstract mappings to a concrete language • Flora 2 – Uses the services of a reasoner to evaluate the mapping rules • Flora 2 reasoner • Outputs – Mediated data • Target ontology instances 07. 04. 2005 31

Run Time Component - Architecture Source Target Flora 2/XSB Environment Instance Flora Mapping Rules

Run Time Component - Architecture Source Target Flora 2/XSB Environment Instance Flora Mapping Rules Flora Rules Generator Abstract Mappings Repr. 07. 04. 2005 Instance Ontologies Mappings 32

Run Time Component – Features (I) • Grounding the abstract mappings • Associate a

Run Time Component – Features (I) • Grounding the abstract mappings • Associate a formal semantics to the mappings – Obtain rules in a concrete language • Why not during 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 • Cashing mechanism can be used 07. 04. 2005 33

Run Time Component – Features (II) • Reasoning on the mapping rules – Flora

Run Time Component – Features (II) • Reasoning on the mapping rules – Flora 2/XSB as an execution environment for the mapping rules • Java Wrapper around Flora 2 reasoner – Declarativa Interprolog http: //www. declarativa. com/interprolog/ • Steps: – Abstract mapping loaded from the storage • Relational database – – Grounded to Flora 2 -> Flora 2 rules Flora 2 Rules loaded in Flora 2 reasoner Incoming instances loaded in Flora 2 reasoner The result (mediated instances) retrieve from the reasoner 07. 04. 2005 34

Conclusions and Future Work • Design Time Tool – Fills the gap between graphical

Conclusions and Future Work • Design Time Tool – Fills the gap between graphical representation of the mappings and the formal representation of these mappings – Abstract the human user from the logical representation of the mappings • Run-Time Tool – An automatic mediation system based on already identified mappings between source and target • Future Work – Identify more relevant views and the correspondences to the mapping language – Enhanced the assisted aspect of the design-time tool – Evaluation tests of the run-time tool 07. 04. 2005 35

Useful links • Code – http: //sourceforge. net/projects/wsmx/ • Documentation – http: //www. wsmo.

Useful links • Code – http: //sourceforge. net/projects/wsmx/ • Documentation – http: //www. wsmo. org/TR/d 13. 3/v 0. 2/ 07. 04. 2005 36