This is the powerpoint presentation of my paper: "Building Ontologies from Multiple Information Sources", presented at IT2009 conference in Kaunas, Lithuania, 23/04/2009.
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Building Ontologies from Multiple Information Sources
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
4. Building Ontologies Building Ontologies from Scratch from Existing Sources Costly and difficult from Single Information Source from Multiple Information Sources ? P
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.
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.
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