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
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
2Ontology-based data integration
Data integration architecture
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
4Ontology-based data integration
OWL-DLOWL concept constructors:
5Ontology-based data integration
OWL-DL
Types of axioms:
6Ontology-based data integration
The Description Logic DL-lite
7Ontology-based data integration
DL-lite
8Ontology-based data integration
DL-lite - example
Manages
Manages
9Ontology-based data integration
Dl-lite - semantics
10Ontology-based data integration
Results on data complexity
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)
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)