SlideShare une entreprise Scribd logo
1  sur  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
Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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 Source from Multiple  Information Sources ? P
Building Ontologies   from Multiple Information Sources ,[object Object],creating local ontologies  merging local ontologies  merging source schemas  building ontology from unified schema Ontology-Merging-based Approach Schema-Merging-based Approach
Our Proposition ,[object Object],creating initial ontology involving local sources  Ontology Evolution
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
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
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
Ontology Evolution by Involving a Database ,[object Object],[object Object]
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 table T T T
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
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
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
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
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
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
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
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
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
Evolving Ontology Properties Using Columns   ,[object Object],[object Object],[object Object],C D 1 2 3 conceptBridge(C, T) T U
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
Evolving Ontology Properties Using Columns case 2 A column  col  has no corresponding property cb = conceptBridge(C, T) C col T
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
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
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
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
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
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
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
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
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
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
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
Conclusions & Future Works ,[object Object],[object Object],[object Object],[object Object],[object Object]
Thank You. Questions ?

Contenu connexe

Tendances

Sequential pattern mining
Sequential pattern miningSequential pattern mining
Sequential pattern mining
kiran said
 
Data structures question paper anna university
Data structures question paper anna universityData structures question paper anna university
Data structures question paper anna university
sangeethajames07
 
All aboutcircuits karnaugh maps
All aboutcircuits karnaugh mapsAll aboutcircuits karnaugh maps
All aboutcircuits karnaugh maps
marangburu42
 
A Simple Algorithm for Minimal Unsatisfiable core
A Simple Algorithm for Minimal Unsatisfiable coreA Simple Algorithm for Minimal Unsatisfiable core
A Simple Algorithm for Minimal Unsatisfiable core
Pvc Pvc
 

Tendances (20)

Adobe
AdobeAdobe
Adobe
 
Sequential pattern mining
Sequential pattern miningSequential pattern mining
Sequential pattern mining
 
Data structures question paper anna university
Data structures question paper anna universityData structures question paper anna university
Data structures question paper anna university
 
Karnaugh mapping allaboutcircuits
Karnaugh mapping allaboutcircuitsKarnaugh mapping allaboutcircuits
Karnaugh mapping allaboutcircuits
 
Ch8a
Ch8aCh8a
Ch8a
 
Computer science sqp
Computer science sqpComputer science sqp
Computer science sqp
 
Data structure
Data structureData structure
Data structure
 
Admissions in india 2015
Admissions in india 2015Admissions in india 2015
Admissions in india 2015
 
Cs gate-2011
Cs gate-2011Cs gate-2011
Cs gate-2011
 
M3 search
M3 searchM3 search
M3 search
 
Programming modulo representations
Programming modulo representationsProgramming modulo representations
Programming modulo representations
 
All aboutcircuits karnaugh maps
All aboutcircuits karnaugh mapsAll aboutcircuits karnaugh maps
All aboutcircuits karnaugh maps
 
A Simple Algorithm for Minimal Unsatisfiable core
A Simple Algorithm for Minimal Unsatisfiable coreA Simple Algorithm for Minimal Unsatisfiable core
A Simple Algorithm for Minimal Unsatisfiable core
 
Introduction to Category Theory for software engineers
Introduction to Category Theory for software engineersIntroduction to Category Theory for software engineers
Introduction to Category Theory for software engineers
 
Ch9c
Ch9cCh9c
Ch9c
 
Cs6660 compiler design may june 2017 answer key
Cs6660 compiler design may june 2017  answer keyCs6660 compiler design may june 2017  answer key
Cs6660 compiler design may june 2017 answer key
 
Program Derivation of Operations in Finite Fields of Prime Order
Program Derivation of Operations in Finite Fields of Prime OrderProgram Derivation of Operations in Finite Fields of Prime Order
Program Derivation of Operations in Finite Fields of Prime Order
 
C interview questions
C interview questionsC interview questions
C interview questions
 
Cs6660 compiler design november december 2016 Answer key
Cs6660 compiler design november december 2016 Answer keyCs6660 compiler design november december 2016 Answer key
Cs6660 compiler design november december 2016 Answer key
 
Formulae
FormulaeFormulae
Formulae
 

Similaire à Building Ontologies from Multiple Information Sources

A Distributed Tableau Algorithm for Package-based Description Logics
A Distributed Tableau Algorithm for Package-based Description LogicsA Distributed Tableau Algorithm for Package-based Description Logics
A Distributed Tableau Algorithm for Package-based Description Logics
Jie Bao
 
Data Complexity in EL Family of Description Logics
Data Complexity in EL Family of Description LogicsData Complexity in EL Family of Description Logics
Data Complexity in EL Family of Description Logics
Adila Krisnadhi
 
Slides
SlidesSlides
Slides
butest
 
20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers
Computer Science Club
 
Scala categorytheory
Scala categorytheoryScala categorytheory
Scala categorytheory
Meetu Maltiar
 

Similaire à Building Ontologies from Multiple Information Sources (20)

A Distributed Tableau Algorithm for Package-based Description Logics
A Distributed Tableau Algorithm for Package-based Description LogicsA Distributed Tableau Algorithm for Package-based Description Logics
A Distributed Tableau Algorithm for Package-based Description Logics
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 3
Unit 3Unit 3
Unit 3
 
AP PGECET Computer Science 2016 question paper
AP PGECET Computer Science 2016 question paperAP PGECET Computer Science 2016 question paper
AP PGECET Computer Science 2016 question paper
 
Data Complexity in EL Family of Description Logics
Data Complexity in EL Family of Description LogicsData Complexity in EL Family of Description Logics
Data Complexity in EL Family of Description Logics
 
U0 vqmtq3mja=
U0 vqmtq3mja=U0 vqmtq3mja=
U0 vqmtq3mja=
 
OXFORD'13 Optimising OWL 2 QL query rewriring
OXFORD'13 Optimising OWL 2 QL query rewriringOXFORD'13 Optimising OWL 2 QL query rewriring
OXFORD'13 Optimising OWL 2 QL query rewriring
 
Q
QQ
Q
 
KARNAUGH MAP(K-MAP)
KARNAUGH MAP(K-MAP)KARNAUGH MAP(K-MAP)
KARNAUGH MAP(K-MAP)
 
Slides
SlidesSlides
Slides
 
Managing model-to-model transformations at scale with YAMTL (lowcomote)
Managing model-to-model transformations at scale with YAMTL (lowcomote)Managing model-to-model transformations at scale with YAMTL (lowcomote)
Managing model-to-model transformations at scale with YAMTL (lowcomote)
 
20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers
 
Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...
Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...
Eclipse Code Recommenders @ cross-event Deutsche Telekom Developer Garden Tec...
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Gate Previous Years Papers
Gate Previous Years PapersGate Previous Years Papers
Gate Previous Years Papers
 
combat unacademy.pdf
combat unacademy.pdfcombat unacademy.pdf
combat unacademy.pdf
 
Scala categorytheory
Scala categorytheoryScala categorytheory
Scala categorytheory
 
Scala categorytheory
Scala categorytheoryScala categorytheory
Scala categorytheory
 
Tensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi chaTensorflow in practice by Engineer - donghwi cha
Tensorflow in practice by Engineer - donghwi cha
 
Conventional Implicature via Dependent Type Semantics
Conventional Implicature via Dependent Type SemanticsConventional Implicature via Dependent Type Semantics
Conventional Implicature via Dependent Type Semantics
 

Plus de Raji Ghawi

Plus de Raji Ghawi (12)

Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming Techniques
 
Java and XML Schema
Java and XML SchemaJava and XML Schema
Java and XML Schema
 
Java and XML
Java and XMLJava and XML
Java and XML
 
Java and SPARQL
Java and SPARQLJava and SPARQL
Java and SPARQL
 
Java and OWL
Java and OWLJava and OWL
Java and OWL
 
SPARQL
SPARQLSPARQL
SPARQL
 
XQuery
XQueryXQuery
XQuery
 
XPath
XPathXPath
XPath
 
Ontology-based Cooperation of Information Systems
Ontology-based Cooperation of Information SystemsOntology-based Cooperation of Information Systems
Ontology-based Cooperation of Information Systems
 
OWSCIS: Ontology and Web Service based Cooperation of Information Sources
OWSCIS: Ontology and Web Service based Cooperation of Information SourcesOWSCIS: Ontology and Web Service based Cooperation of Information Sources
OWSCIS: Ontology and Web Service based Cooperation of Information Sources
 
Coopération des Systèmes d'Informations basée sur les Ontologies
Coopération des Systèmes d'Informations basée sur les OntologiesCoopération des Systèmes d'Informations basée sur les Ontologies
Coopération des Systèmes d'Informations basée sur les Ontologies
 
Database-to-Ontology Mapping Generation for Semantic Interoperability
Database-to-Ontology Mapping Generation for Semantic InteroperabilityDatabase-to-Ontology Mapping Generation for Semantic Interoperability
Database-to-Ontology Mapping Generation for Semantic Interoperability
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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
  • 2.
  • 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.
  • 6.
  • 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.
  • 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
  • 36.