ontology-based data integration
DESCRIPTION
Ontology-based data integration. Maurizio Lenzerini Dipartimento di Informatica e Sistemistica “A. Ruberti” Università di Roma “La Sapienza”. DASI ’06: Phd School on Data and Service Integration Bertinoro, December 11–15, 2006. Data integration architecture. Parameters. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/1.jpg)
1June 7, 2004 Ontologies for interoperability 1
Ontology-based data integration
Maurizio LenzeriniDipartimento di Informatica e Sistemistica “A. Ruberti”
Università di Roma “La Sapienza”
DASI ’06: Phd School on Data and Service IntegrationBertinoro, December 11–15, 2006
![Page 2: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/2.jpg)
2Ontology-based data integration
Data integration architecture
![Page 3: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/3.jpg)
3Ontology-based data integration
Parameters
• Which Description Logic for the ontology• We will mention different possibilites
• Which language for user queries• Unions of conjunctive queries
• Which type of mapping• We will consider mappings of type GAV
• Which sources• Relational sources
![Page 4: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/4.jpg)
4Ontology-based data integration
OWL-DLOWL concept constructors:
![Page 5: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/5.jpg)
5Ontology-based data integration
OWL-DL
Types of axioms:
![Page 6: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/6.jpg)
6Ontology-based data integration
The Description Logic DL-lite
![Page 7: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/7.jpg)
7Ontology-based data integration
DL-lite
![Page 8: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/8.jpg)
8Ontology-based data integration
DL-lite - example
Manages
Manages
![Page 9: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/9.jpg)
9Ontology-based data integration
Dl-lite - semantics
![Page 10: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/10.jpg)
10Ontology-based data integration
Results on data complexity
![Page 11: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/11.jpg)
11Ontology-based data integration
A note on mappings
• In Ontology-based integration we have to deal with the “impedence mismatch” problem• Sources store data, while instances of concepts and relations
in the ontologies are objects
• The solution is to define a mapping language that allows specifying how to transform data into objects
• Basic idea: use “Skolem functions” in the head of the mapping
• Semantics: objects are denoted by “terms” (of exaclty one level of nesting), and different terms are different objects (unique name assumption on terms)
![Page 12: Ontology-based data integration](https://reader036.vdocument.in/reader036/viewer/2022062814/5681678e550346895ddcb4eb/html5/thumbnails/12.jpg)
12Ontology-based data integration
Mappings: exampleThree sources on students: • s1 uses code for identifying students• s3 uses number for identifying • s2 stores (incomplete) correspondences between code and number
Student(sbc(code)) :- s1(code,dob,addr,city)Student(sbc(code)) :- s2(number,code)Student(sbn(number)) :- s3(number,addr,city), not s2(number,code)LivesIn(sbc(code),c(city)) :-s1(code,dob,addr,city), city is not nullLivesIn(sbc(code),c(city3)) :- s1(code,dob,addr,city1), city1 is null,
s2(number,code), s3(number,addr,city3), city3 is not nullLivesIn(sbc(code),c(city3)) :- not s1(code,dob,addr,city1),
s2(number,code), s3(number,addr,city3), city3 is not nullLivesIn(sbn(number),c(city)) :- s3(number,address,city), city is not null,
not s2(number,code)