building ontologies from multiple information sources
DESCRIPTION
This is the powerpoint presentation of my paper: "Building Ontologies from Multiple Information Sources", presented at IT2009 conference in Kaunas, Lithuania, 23/04/2009.TRANSCRIPT
![Page 1: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/1.jpg)
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, Lithuania23 – 24 April 2009
![Page 2: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/2.jpg)
Building Ontologies from Multiple Information Sources 2IT2009
Introduction
Information Integration Semantic Heterogeneity Ontologies
Content Explanation Query Formulation
Building Ontologies ?
![Page 3: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/3.jpg)
Building Ontologies from Multiple Information Sources 3IT2009
Building Ontologies
Building Ontologies
from Scratch from Existing Sources
Costly anddifficult
![Page 4: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/4.jpg)
Building Ontologies from Multiple Information Sources 4IT2009
Building Ontologies
Building Ontologies
from Scratch from Existing Sources
Costly anddifficult from Single
Information Sourcefrom Multiple
Information Sources
![Page 5: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/5.jpg)
Building Ontologies from Multiple Information Sources 5IT2009
Building Ontologies from Multiple Information Sources
Possible Solutions
creatinglocal ontologies
merginglocal ontologies
mergingsource schemas
building ontologyfrom unified schema
Ontology-Merging-based Approach Schema-Merging-based Approach
![Page 6: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/6.jpg)
Building Ontologies from Multiple Information Sources 6IT2009
Our Proposition
Ontology-Evolution-based Approach
creatinginitial ontology
involvinglocal sources
Ontology Evolution
![Page 7: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/7.jpg)
Building Ontologies from Multiple Information Sources 7IT2009
Evolution Step
New Information Source
Ontology
Initial correspondences
MappingBridges
Expert
Automatic Treatement
Rules
OntologyChange
Operations
MappingDocument
Ontology Modification
MappingDoc 2
MappingDoc 1
MappingDoc n
Updating Previous Mappings
![Page 8: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/8.jpg)
Building Ontologies from Multiple Information Sources 8IT2009
dp1dp2
dp1
Ontology Change Operations (Atomic)
A
B C
A
B
Add_Concept
A A
Add_DatatypeProperty
B
C
B
Add_ObjectProperty
C
opB
Set_SubConceptOf
C
B
C
is_a
Set_SubPropertyOf
op1
Set_InverseOf
op2
op1
op2
op1
op2
B C
op1
op2
B C
dp1dp2dp1
A A
Remove_Property
![Page 9: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/9.jpg)
Building Ontologies from Multiple Information Sources 9IT2009
dpdp1dp2
dp
Ontology Change Operations (Complex)
A
B
Convert_Property
A A
Split_Property
A
B
op
dp1dp2
dpA
dp1dp2
A
Add_DatatypeProperty
Remove_Property
dp
A
B
op
A
B
op
Remove_Property
Add_ObjectProperty
![Page 10: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/10.jpg)
Building Ontologies from Multiple Information Sources 10IT2009
Ontology Evolution by Involving a Database
Evolving Ontology Concepts Using Database Tables
Evolving Ontology Properties Using Columns
![Page 11: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/11.jpg)
Building Ontologies from Multiple Information Sources 11IT2009
C
nothing happens
case 1 A concept C has no corresponding table
Evolving Ontology Concepts Using Database Tables
![Page 12: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/12.jpg)
Building Ontologies from Multiple Information Sources 12IT2009
T
C
T
conceptBridge(C, T)
C
Evolving Ontology Concepts Using Database Tables
case 2 one concept C corresponds to exactly one table T
![Page 13: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/13.jpg)
Building Ontologies from Multiple Information Sources 13IT2009
T
Evolving Ontology Concepts Using Database Tables
case 3 A table T has no corresponding concept
Case 3.1.
Case 3.2.
Case 3.3.
T1
PK1
…
T
PFK1
PFK2
T2
PK2
…
T1
PK1
…
T
PFK1
…
T
…
…
![Page 14: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/14.jpg)
Building Ontologies from Multiple Information Sources 14IT2009
T
C
T
conceptBridge(C, T)
Add_Concept(C)
case 3 A table T has no corresponding concept
case 3.3 default case
Evolving Ontology Concepts Using Database Tables
![Page 15: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/15.jpg)
Building Ontologies from Multiple Information Sources 15IT2009
case 3 A table T has no corresponding concept
case 3.2 T is related to T1 using a FK which is a PK
Evolving Ontology Concepts Using Database Tables
T
pfk1
D
conceptBridge(D, T1) Add_Concept(C)
Set_SubConceptOf(C, D)
T1
pk1
T
pfk1
D
T1
pk1
C
conceptBridge(C, T)
![Page 16: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/16.jpg)
Building Ontologies from Multiple Information Sources 16IT2009
case 3 A table T has no corresponding concept
case 3.1T is used to relate T1 and T2 in many-to-many relationship
Evolving Ontology Concepts Using Database Tables
T
pfk1
pfk2
T2
pk2
T1
pk1
D1 D2
T
pfk1
pfk2
T2
pk2
T1
pk1
D1 D2op1
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)
![Page 17: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/17.jpg)
Building Ontologies from Multiple Information Sources 17IT2009
Evolving Ontology Concepts Using Database Tables
case 4one concept C corresponds to several tables T1, T2, …, Tm
C
T1 T2
…
Tm
C1 C2 Cm
cb1 = conceptBridge(C1, T1)
cb2 = conceptBridge(C2, T2)
...
cbm = conceptBridge(Cm, Tm)
…
![Page 18: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/18.jpg)
Building Ontologies from Multiple Information Sources 18IT2009
case 4one concept C corresponds to several tables T1, T2, …, Tm
case 4.1one concept C corresponds to the union of T1, T2, …, Tm
Evolving Ontology Concepts Using Database Tables
C
T1 T2
…
Tm
C1 C2 Cm
C
T1 T2
…
Tm
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
… …
![Page 19: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/19.jpg)
Building Ontologies from Multiple Information Sources 19IT2009
case 4one concept C corresponds to several tables T1, T2, …, Tm
case 4.2one concept C corresponds to the join of T1, T2, …, Tm
Evolving Ontology Concepts Using Database Tables
C
T1 T2
…
Tm
C1 C2 Cm C
T1 T2
…
Tm
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)
…
…
![Page 20: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/20.jpg)
Building Ontologies from Multiple Information Sources 20IT2009
Evolving Ontology Concepts Using Database Tables
case 5one table T corresponds to several concepts C1, C2, …, Cn
C2
T
C1 CnC2
T
C1 Cn
C
conceptBridge(C, T)
Add_Concept(C)Set_SubConceptOf(C1, C)Set_SubConceptOf(C2, C)Set_SubConceptOf(Cn, C)
… …
![Page 21: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/21.jpg)
Building Ontologies from Multiple Information Sources 21IT2009
Evolving Ontology Concepts Using Database Tables
case 6 several concepts C1, C2, …, Cn correspond to several tables T1, T2, …, Tm
C2C1 Cn…
T1 T2
…
Tm
![Page 22: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/22.jpg)
Building Ontologies from Multiple Information Sources 22IT2009
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
T
D
U
1 23
conceptBridge(C, T)
![Page 23: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/23.jpg)
Building Ontologies from Multiple Information Sources 23IT2009
Evolving Ontology Properties Using Columns
case 1A (datatype or object) property has no
corresponding column
nothing happens
T
cb = conceptBridge(C, T)
dpC
op
![Page 24: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/24.jpg)
Building Ontologies from Multiple Information Sources 24IT2009
Evolving Ontology Properties Using Columns
case 2 A column col has no corresponding property
cb = conceptBridge(C, T)
C
T
col
![Page 25: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/25.jpg)
Building Ontologies from Multiple Information Sources 25IT2009
Evolving Ontology Properties Using Columns
case 2 A column col has no corresponding property
cb = conceptBridge(C, T)
C
T
col
case 2.1 col is not a foreign key
dp
DPB(dp, cb, col)
C
T
col
Add_DatatypeProperty(dp, C -> type)
![Page 26: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/26.jpg)
Building Ontologies from Multiple Information Sources 26IT2009
Evolving Ontology Properties Using Columns
case 2 A column col has no corresponding property
cb = conceptBridge(C, T)
cb1 = conceptBridge(D, RT)
C
T
fk
case 2.2col is a foreign key fk referring to a column rc in
another table RT
D
RT
rc
C
T
fk
D
RT
rc
op
OPB(op, cb, cb1, join: T.fk = RT.rc)
Add_ObjectProperty(op, C -> D)
![Page 27: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/27.jpg)
Building Ontologies from Multiple Information Sources 27IT2009
dp
Evolving Ontology Properties Using Columns
case 3A datatype property dp corresponds directly to one
column col
cb = conceptBridge(C, T)
C
T
col
dp
DPB(dp, cb, col)
C
T
col
![Page 28: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/28.jpg)
Building Ontologies from Multiple Information Sources 28IT2009
Evolving Ontology Properties Using Columns
case 4An object property op corresponds directly to a
foreign key fk
cb = conceptBridge(C, T)
C
T
fk
D
RT
rc
op
![Page 29: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/29.jpg)
Building Ontologies from Multiple Information Sources 29IT2009
Evolving Ontology Properties Using Columns
case 4An object property op corresponds directly to a
foreign key fk
C
T
fk
D
RT
rc
op
RT is mapped to the concept Dcase 4.1
C
T
fk
D
RT
rc
op
cb = conceptBridge(C, T)
cb1 = conceptBridge(D, RT)OPB(op, cb, cb1, join: T.fk = RT.rc)
![Page 30: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/30.jpg)
Building Ontologies from Multiple Information Sources 30IT2009
Evolving Ontology Properties Using Columns
case 4An object property op corresponds directly to a
foreign key fk
C
T
fk
D
RT
rc
op
RT is mapped to a concept F different from Dcase 4.2
C
T
fk
D
RT
rc
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 Fop'
OPB(op’, cb, cb1, join: T.fk = RT.rc)
![Page 31: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/31.jpg)
Building Ontologies from Multiple Information Sources 31IT2009
dp
Evolving Ontology Properties Using Columns
case 5 A datatype property dp corresponds to a transformation of one column col
cb = conceptBridge(C, T)
C
T
col
dp
DPB(dp, cb, Trans(col))
C
T
col
Trans Trans
![Page 32: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/32.jpg)
Building Ontologies from Multiple Information Sources 32IT2009
dp
Evolving Ontology Properties Using Columns
case 6
cb = conceptBridge(C, T)
C
T
col1
col2
Trans
A datatype property dp corresponds to a transformation/combinationof multiple columns col1, col2, …, colm
![Page 33: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/33.jpg)
Building Ontologies from Multiple Information Sources 33IT2009
dp
Evolving Ontology Properties Using Columns
case 6
cb = conceptBridge(C, T)
C
T
col1
col2
dp
DPB(dp, cb, Trans(col1, col2))
C
T
col1
col2
Trans Trans
A datatype property dp corresponds to a transformation/combinationof multiple columns col1, col2, …, colm
First solution
![Page 34: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/34.jpg)
Building Ontologies from Multiple Information Sources 34IT2009
dp
Evolving Ontology Properties Using Columns
case 6
cb = conceptBridge(C, T)
C
T
col1
col2
T
col1
col2
Trans
A datatype property dp corresponds to a transformation/combinationof 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))
dp1Cdp2
![Page 35: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/35.jpg)
Building Ontologies from Multiple Information Sources 35IT2009
dp1
Evolving Ontology Properties Using Columns
case 7
cb = conceptBridge(C, T)
C
T
col
T
col
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
dp1Cdp2
Trans1
Trans2
![Page 36: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/36.jpg)
Building Ontologies from Multiple Information Sources 36IT2009
Conclusions & Future Works
Ontology-Evolution based Approach Semi-Automatic Process Non-exhaustive list of correspondence
cases
Conditional Mappings Implementation
![Page 37: Building Ontologies from Multiple Information Sources](https://reader035.vdocuments.us/reader035/viewer/2022070302/546f42fab4af9f180c8b467f/html5/thumbnails/37.jpg)
Thank You.
Questions ?