building ontologies from multiple information sources

37
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

Upload: raji-ghawi

Post on 21-Nov-2014

1.274 views

Category:

Technology


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank You.

Questions ?