Your SlideShare is downloading. ×
Building Ontologies from Multiple Information Sources
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Building Ontologies from Multiple Information Sources

660

Published on

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.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
660
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
64
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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
  • 2. Introduction
    • Information Integration
    • Semantic Heterogeneity
    • Ontologies
      • Content Explanation
      • Query Formulation
    • Building Ontologies ?
  • 3. Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult
  • 4. Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult from Single Information Source from Multiple Information Sources ? P
  • 5. 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
  • 6. Our Proposition
    • Ontology-Evolution-based Approach
    creating initial ontology involving local sources Ontology Evolution
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. Ontology Evolution by Involving a Database
    • Evolving Ontology Concepts Using Database Tables
    • Evolving Ontology Properties Using Columns
  • 11. Evolving Ontology Concepts Using Database Tables C nothing happens case 1 A concept C has no corresponding table
  • 12. Evolving Ontology Concepts Using Database Tables C conceptBridge(C, T) C case 2 one concept C corresponds to exactly one table T T T
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. Evolving Ontology Properties Using Columns case 2 A column col has no corresponding property cb = conceptBridge(C, T) C col T
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. Conclusions & Future Works
    • Ontology-Evolution based Approach
    • Semi-Automatic Process
    • Non-exhaustive list of correspondence cases
    • Conditional Mappings
    • Implementation
  • 37. Thank You. Questions ?

×