Building Ontologies from Multiple Information Sources Raji Ghawi   and  Nadine Cullot  Laboratoire Électronique, Informati...
Introduction <ul><li>Information  Integration </li></ul><ul><li>Semantic Heterogeneity </li></ul><ul><li>Ontologies </li><...
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 S...
Building Ontologies   from Multiple Information Sources <ul><li>Possible Solutions </li></ul>creating local ontologies  me...
Our Proposition <ul><li>Ontology-Evolution-based Approach </li></ul>creating initial ontology involving local sources  Ont...
Evolution Step New  Information Source Ontology Initial  correspondences Mapping Bridges Automatic  Treatement Rules Ontol...
Ontology Change Operations (Atomic) dp1 dp2 dp1 A B C A B Add_Concept A A Add_DatatypeProperty B C B Add_ObjectProperty C ...
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 A...
Ontology Evolution by Involving a Database <ul><li>Evolving Ontology Concepts Using Database Tables </li></ul><ul><li>Evol...
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 t...
Evolving Ontology Concepts Using Database Tables case 3 A  table T has no corresponding concept T Case 3.1. Case 3.2. Case...
Evolving Ontology Concepts Using Database Tables C conceptBridge(C, T) Add_Concept(C) case 3 A  table T has no correspondi...
Evolving Ontology Concepts Using Database Tables case 3 A  table T has no corresponding concept case 3.2 T is related to T...
Evolving Ontology Concepts Using Database Tables case 3 A  table T has no corresponding concept case 3.1 T is used to rela...
Evolving Ontology Concepts Using Database Tables case 4 one concept C corresponds to several tables T1, T2, …, Tm C … C1 C...
Evolving Ontology Concepts Using Database Tables case 4 one concept C corresponds to several tables T1, T2, …, Tm case 4.1...
Evolving Ontology Concepts Using Database Tables case 4 one concept C corresponds to several tables T1, T2, …, Tm case 4.2...
Evolving Ontology Concepts Using Database Tables case 5 one table T corresponds to several concepts C1, C2, …, Cn C2 C1 Cn...
Evolving Ontology Concepts Using Database Tables case 6 several concepts C1, C2, …, Cn correspond to several tables T1, T2...
Evolving Ontology Properties Using Columns   <ul><li>Category 1. Correspondences between C properties and T columns. </li>...
Evolving Ontology Properties Using Columns case 1 A (datatype or object) property has no corresponding column nothing happ...
Evolving Ontology Properties Using Columns case 2 A column  col  has no corresponding property cb = conceptBridge(C, T) C ...
Evolving Ontology Properties Using Columns case 2 A column  col  has no corresponding property cb = conceptBridge(C, T) C ...
Evolving Ontology Properties Using Columns case 2 A column  col  has no corresponding property cb = conceptBridge(C, T) cb...
Evolving Ontology Properties Using Columns dp case 3 A datatype property  dp  corresponds directly to one column  col cb =...
Evolving Ontology Properties Using Columns case 4 An object property  op  corresponds directly to a foreign key  fk cb = c...
Evolving Ontology Properties Using Columns case 4 An object property  op  corresponds directly to a foreign key  fk C D op...
Evolving Ontology Properties Using Columns case 4 An object property  op  corresponds directly to a foreign key  fk C D op...
Evolving Ontology Properties Using Columns dp case 5 A datatype property  dp  corresponds to a transformation of one colum...
Evolving Ontology Properties Using Columns dp case 6 cb = conceptBridge(C, T) C Trans A datatype property  dp  corresponds...
Evolving Ontology Properties Using Columns dp case 6 cb = conceptBridge(C, T) C dp DPB(dp, cb, Trans(col1, col2)) C Trans ...
Evolving Ontology Properties Using Columns dp case 6 cb = conceptBridge(C, T) C Trans A datatype property  dp  corresponds...
Evolving Ontology Properties Using Columns dp1 case 7 cb = conceptBridge(C, T) C A column  col  corresponds to a combinati...
Conclusions & Future Works <ul><li>Ontology-Evolution based Approach </li></ul><ul><li>Semi-Automatic Process </li></ul><u...
Thank You. Questions ?
Upcoming SlideShare
Loading in …5
×

Building Ontologies from Multiple Information Sources

1,018 views

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.

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

No Downloads
Views
Total views
1,018
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
69
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Building Ontologies from Multiple Information Sources

  1. 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. 2. Introduction <ul><li>Information Integration </li></ul><ul><li>Semantic Heterogeneity </li></ul><ul><li>Ontologies </li></ul><ul><ul><li>Content Explanation </li></ul></ul><ul><ul><li>Query Formulation </li></ul></ul><ul><li>Building Ontologies ? </li></ul>
  3. 3. Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult
  4. 4. Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult from Single Information Source from Multiple Information Sources ? P
  5. 5. Building Ontologies from Multiple Information Sources <ul><li>Possible Solutions </li></ul>creating local ontologies merging local ontologies merging source schemas building ontology from unified schema Ontology-Merging-based Approach Schema-Merging-based Approach
  6. 6. Our Proposition <ul><li>Ontology-Evolution-based Approach </li></ul>creating initial ontology involving local sources Ontology Evolution
  7. 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. 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. 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. 10. Ontology Evolution by Involving a Database <ul><li>Evolving Ontology Concepts Using Database Tables </li></ul><ul><li>Evolving Ontology Properties Using Columns </li></ul>
  11. 11. Evolving Ontology Concepts Using Database Tables C nothing happens case 1 A concept C has no corresponding table
  12. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 22. Evolving Ontology Properties Using Columns <ul><li>Category 1. Correspondences between C properties and T columns. </li></ul><ul><li>Category 2. Correspondences between C properties and columns in other tables. </li></ul><ul><li>Category 3. Correspondences between T columns and properties of other concepts. </li></ul>C D 1 2 3 conceptBridge(C, T) T U
  23. 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. 24. Evolving Ontology Properties Using Columns case 2 A column col has no corresponding property cb = conceptBridge(C, T) C col T
  25. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 36. Conclusions & Future Works <ul><li>Ontology-Evolution based Approach </li></ul><ul><li>Semi-Automatic Process </li></ul><ul><li>Non-exhaustive list of correspondence cases </li></ul><ul><li>Conditional Mappings </li></ul><ul><li>Implementation </li></ul>
  37. 37. Thank You. Questions ?

×