• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Building Ontologies from Multiple Information Sources
 

Building Ontologies from Multiple Information Sources

on

  • 1,235 views

This is the powerpoint presentation of my paper: "Building Ontologies from Multiple Information Sources", presented at IT2009 conference in Kaunas, Lithuania, 23/04/2009.

This is the powerpoint presentation of my paper: "Building Ontologies from Multiple Information Sources", presented at IT2009 conference in Kaunas, Lithuania, 23/04/2009.

Statistics

Views

Total Views
1,235
Views on SlideShare
1,232
Embed Views
3

Actions

Likes
1
Downloads
58
Comments
0

2 Embeds 3

http://www.slideshare.net 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Building Ontologies from Multiple Information Sources Building Ontologies from Multiple Information Sources Presentation Transcript

    • Building Ontologies from Multiple Information Sources Raji Ghawi and Nadine Cullot Laboratoire Électronique, Informatique et Image University of Burgundy, Dijon, France Information Technologies (IT2009), Kaunas, Lithuania 23 – 24 April 2009
    • Introduction
      • Information Integration
      • Semantic Heterogeneity
      • Ontologies
        • Content Explanation
        • Query Formulation
      • Building Ontologies ?
    • Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult
    • Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult from Single Information Source from Multiple Information Sources ? P
    • Building Ontologies from Multiple Information Sources
      • Possible Solutions
      creating local ontologies merging local ontologies merging source schemas building ontology from unified schema Ontology-Merging-based Approach Schema-Merging-based Approach
    • Our Proposition
      • Ontology-Evolution-based Approach
      creating initial ontology involving local sources Ontology Evolution
    • Evolution Step New Information Source Ontology Initial correspondences Mapping Bridges Automatic Treatement Rules Ontology Change Operations Mapping Document Ontology Modification Mapping Doc 2 Mapping Doc 1 Mapping Doc n Updating Previous Mappings Expert
    • Ontology Change Operations (Atomic) dp1 dp2 dp1 A B C A B Add_Concept A A Add_DatatypeProperty B C B Add_ObjectProperty C op B Set_SubConceptOf C B C is_a Set_SubPropertyOf op1 Set_InverseOf op2 op1 op2 op1 op2 B C op1 op2 B C dp1 dp2 dp1 A A Remove_Property
    • Ontology Change Operations (Complex) dp dp1 dp2 dp A B Convert_Property A A Split_Property A B op dp1 dp2 dp A dp1 dp2 A Add_DatatypeProperty Remove_Property dp A B op A B op Remove_Property Add_ObjectProperty
    • Ontology Evolution by Involving a Database
      • Evolving Ontology Concepts Using Database Tables
      • Evolving Ontology Properties Using Columns
    • Evolving Ontology Concepts Using Database Tables C nothing happens case 1 A concept C has no corresponding table
    • Evolving Ontology Concepts Using Database Tables C conceptBridge(C, T) C case 2 one concept C corresponds to exactly one table T T T
    • Evolving Ontology Concepts Using Database Tables case 3 A table T has no corresponding concept T Case 3.1. Case 3.2. Case 3.3. … PK1 T1 PFK2 PFK1 T … PK2 T2 … PK1 T1 … PFK1 T … … T
    • Evolving Ontology Concepts Using Database Tables C conceptBridge(C, T) Add_Concept(C) case 3 A table T has no corresponding concept case 3.3 default case T T
    • Evolving Ontology Concepts Using Database Tables case 3 A table T has no corresponding concept case 3.2 T is related to T1 using a FK which is a PK D conceptBridge(D, T1) Add_Concept(C) Set_SubConceptOf (C, D) D C conceptBridge(C, T) pfk1 T pk1 T1 pfk1 T pk1 T1
    • Evolving Ontology Concepts Using Database Tables case 3 A table T has no corresponding concept case 3.1 T is used to relate T1 and T2 in many-to-many relationship D1 D2 D1 D2 op1 op2 cb1 = conceptBridge(D1, T1) cb2 = conceptBridge(D2, T2) Add_ObjectProperty(op1, D1, D2) Add_ObjectProperty(op2, D2, D1) Set_InverseOf(op1, op2) OPB(op1, cb1, cb2, join:T.pfk1=T1.pk1 AND T.pfk2=T2.pk2) OPB(op2, cb2, cb1, join:T.pfk1=T1.pk1 AND T.pfk2=T2.pk2) pfk2 pfk1 T pk2 T2 pk1 T1 pfk2 pfk1 T pk2 T2 pk1 T1
    • Evolving Ontology Concepts Using Database Tables case 4 one concept C corresponds to several tables T1, T2, …, Tm C … C1 C2 Cm cb1 = conceptBridge(C1, T1) cb2 = conceptBridge(C2, T2) ... cbm = conceptBridge(Cm, Tm) … T1 T2 Tm
    • Evolving Ontology Concepts Using Database Tables case 4 one concept C corresponds to several tables T1, T2, …, Tm case 4.1 one concept C corresponds to the union of T1, T2, …, Tm C … C1 C2 Cm C … C1 C2 Cm cb1 = conceptBridge(C1, T1) cb2 = conceptBridge(C2, T2) ... cbm = conceptBridge(Cm, Tm) Set_SubConceptOf(C1, C) Set_SubConceptOf(C2, C) ... Set_SubConceptOf(Cm, C) move common properties to the super-concept C … … T1 T2 Tm T1 T2 Tm
    • Evolving Ontology Concepts Using Database Tables case 4 one concept C corresponds to several tables T1, T2, …, Tm case 4.2 one concept C corresponds to the join of T1, T2, …, Tm C … C1 C2 Cm C … C1 C2 Cm cb1 = conceptBridge(C1, T1) cb2 = conceptBridge(C2, T2) ... cbm = conceptBridge(Cm, Tm) Set_SubConceptOf(C, C1) Set_SubConceptOf(C, C2) ... Set_SubConceptOf(C, Cm) … … T1 T2 Tm T1 T2 Tm
    • Evolving Ontology Concepts Using Database Tables case 5 one table T corresponds to several concepts C1, C2, …, Cn C2 C1 Cn C2 C1 Cn C conceptBridge(C, T) Add_Concept(C) Set_SubConceptOf(C1, C) Set_SubConceptOf(C2, C) Set_SubConceptOf(Cn, C) … … T T
    • Evolving Ontology Concepts Using Database Tables case 6 several concepts C1, C2, …, Cn correspond to several tables T1, T2, …, Tm C2 C1 Cn … … T1 T2 Tm
    • Evolving Ontology Properties Using Columns
      • Category 1. Correspondences between C properties and T columns.
      • Category 2. Correspondences between C properties and columns in other tables.
      • Category 3. Correspondences between T columns and properties of other concepts.
      C D 1 2 3 conceptBridge(C, T) T U
    • Evolving Ontology Properties Using Columns case 1 A (datatype or object) property has no corresponding column nothing happens cb = conceptBridge(C, T) dp C op T
    • Evolving Ontology Properties Using Columns case 2 A column col has no corresponding property cb = conceptBridge(C, T) C col T
    • Evolving Ontology Properties Using Columns case 2 A column col has no corresponding property cb = conceptBridge(C, T) C case 2.1 col is not a foreign key dp DPB(dp, cb, col) C Add_DatatypeProperty(dp, C -> type) col T col T
    • Evolving Ontology Properties Using Columns case 2 A column col has no corresponding property cb = conceptBridge(C, T) cb1 = conceptBridge(D, RT) C case 2.2 col is a foreign key fk referring to a column rc in another table RT D C D op OPB(op, cb, cb1, join: T.fk = RT.rc ) Add_ObjectProperty(op, C -> D) fk T rc RT fk T rc RT
    • Evolving Ontology Properties Using Columns dp case 3 A datatype property dp corresponds directly to one column col cb = conceptBridge(C, T) C dp DPB(dp, cb, col) C col T col T
    • Evolving Ontology Properties Using Columns case 4 An object property op corresponds directly to a foreign key fk cb = conceptBridge(C, T) C D op fk T rc RT
    • Evolving Ontology Properties Using Columns case 4 An object property op corresponds directly to a foreign key fk C D op RT is mapped to the concept D case 4.1 C D op cb = conceptBridge(C, T) cb1 = conceptBridge(D, RT) OPB(op, cb, cb1, join: T.fk = RT.rc ) fk T rc RT fk T rc RT
    • Evolving Ontology Properties Using Columns case 4 An object property op corresponds directly to a foreign key fk C D op RT is mapped to a concept F different from D case 4.2 C D op cb = conceptBridge(C, T) cb1 = conceptBridge(F, RT) F  D Set_SubConceptOf(F, D) Add_ObjectProperty(op’, C -> F) Set_SubPropertyOf(op’, op) F F op' OPB(op’, cb, cb1, join: T.fk = RT.rc )  fk T rc RT fk T rc RT
    • Evolving Ontology Properties Using Columns dp case 5 A datatype property dp corresponds to a transformation of one column col cb = conceptBridge(C, T) C dp DPB(dp, cb, Trans(col)) C Trans Trans col T col T
    • Evolving Ontology Properties Using Columns dp case 6 cb = conceptBridge(C, T) C Trans A datatype property dp corresponds to a transformation/combination of multiple columns col1 , col2 , …, colm col2 col1 T
    • Evolving Ontology Properties Using Columns dp case 6 cb = conceptBridge(C, T) C dp DPB(dp, cb, Trans(col1, col2)) C Trans Trans A datatype property dp corresponds to a transformation/combination of multiple columns col1 , col2 , …, colm First solution col2 col1 T col2 col1 T
    • Evolving Ontology Properties Using Columns dp case 6 cb = conceptBridge(C, T) C Trans A datatype property dp corresponds to a transformation/combination of multiple columns col1 , col2 , …, colm Second solution DPB(dp1, cb, col1) DPB(dp2, cb, col2) Split_Property(dp AS dp1 = Trans1(dp), dp2 = Trans2(dp)) col2 col1 T col2 col1 T dp1 C dp2
    • Evolving Ontology Properties Using Columns dp1 case 7 cb = conceptBridge(C, T) C A column col corresponds to a combination/transformation of multiple datatype properties dp1 , dp2 , …, dpn DPB(dp1, cb, Trans1(col)) DPB(dp2, cb, Trans2(col)) dp2 Trans col T col T dp1 C dp2 Trans1 Trans2
    • Conclusions & Future Works
      • Ontology-Evolution based Approach
      • Semi-Automatic Process
      • Non-exhaustive list of correspondence cases
      • Conditional Mappings
      • Implementation
    • Thank You. Questions ?