Date post: | 15-Jan-2015 |
Category: |
Technology |
Upload: | raji-ghawi |
View: | 4,871 times |
Download: | 3 times |
Database-to-Ontology Mapping Generationfor Semantic Interoperability
Raji Ghawi and Nadine CullotLaboratoire Electronique, Informatique et Image
UMR CNRS 5158 Université de Bourgogne, Dijon, FRANCE
{raji.ghawi , nadine.cullot}@u-bourgogne.fr
2
Outlines
1. Introduction
2. OWSCIS Architecture
3. DB2OWL
4. Mapping process
5. Future Works
3
Introduction
Interoperability Problem Distrubtion Hetereogeniety Instability
Solutions Ontologies Web Services
4
OWSCIS Ontology and Web Services based Cooperation of Information Sources
Hybrid Ontology Approach Local Ontologies and Reference Ontology
Web Service - Oriented Architecture Automatic Mappings
Inter-Ontology Mapping Database-to-Ontology Mapping
5
OWSCIS Architecture
Mapping Web Service
VisualisationWeb Service
QueryDecomposition
QueryRecomposition
Single Query Resolution
Query Web Service
DataProvider
DataProvider
MappingDirectory
Reference Ontology
Tool Box
Knowledge Base Module
DB2OWL Database
Mappings
Local Onto Ref. Onto
DB Local Onto
Data Provider
Local Ontology
Expert
End User
6
Database to Ontology mapping Correspondences between database components (table, column,
constraint) and ontological components (concept, property).
Database to ontology mapping
ComplexDirect
Data migration
Query Driven
Massive Dump
Mapping database to already existing ontology
Creating ontologyfrom database
Mapping definition
Mapping definition
7
DB2OWL
Generate a local ontology from a relational database OWL-DL
Generate Mapping document
Full automatic process
8
Mapping Process in DB2OWL
Example Database schema Table’s particular cases Mapping process
9
Example Database Schema
PRESENCE
StudentID
SessionID
DIPLOMA
DiplomaID
DiplomaName
PERSON
PersonID
FirstName
LastName
HALL
HallID
HallName
Building
STUDENT
StudentID
StudentNumber
DiplomaID
LECTURER
LecturerID
LecturerRoom
SESSION
SessionID
ModulID
LecturerID
HallID
Time
DiplomaID
MODULE
ModuleID
ModuleNamePrimary key
Foreign key
10
Table’s particular cases : Case 1
A table T is used only to relate two other tables T1, T2 in a many-to-many relationship,
all T columns are foreign and primary keys
PRESENCE
StudentID
SessionID
STUDENT
StudentID
StudentNumber
DiplomaID
SESSION
SessionID
ModulID
LecturerID
HallID
Time
11
Table’s particular cases : Case 2
A table T is related to another table T1 by a referential integrity constraint whose local attributes are also the primary keys.
In this case all the primary keys of T are foreign keys
PERSON
PersonID
FirstName
LastName
STUDENT
StudentID
StudentNumber
DiplomaID
12
Table’s particular cases : Case 3
The default case Occurs when none of previous cases occurs
T is not in case1 nor in case2
DIPLOMA
DiplomaID
DiplomaName
13
Mapping Process - 1
The database tables that are in case 3 are mapped to OWL classes
DIPLOMA
DiplomaID
DiplomaName
PERSON
PersonID
FirstName
LastName
HALL
HallID
HallName
Building
SESSION
SessionID
ModulID
LecturerID
HallID
Time
DiplomaID
MODULE
ModuleID
ModuleName
Database
PERSON
DIPLOMA
HALL MODULE
SESSION
Ontology
14
Mapping Process - 2
The tables in case 2 are mapped to subclasses of those classes corresponding to their related tables
PERSON
PersonID
FirstName
LastName
Database
STUDENT
StudentID
StudentNumber
DiplomaID
LECTURER
LecturerID
LecturerRoom
is_a
PERSON
DIPLOMA
HALL MODULE
SESSION
Ontology
LECTURER
STUDENT
15
Mapping Process - 3
The tables in case 1 are not mapped to classes, but we add two object properties, one for each class that its corresponding table was related to the current table
Database
STUDENT
StudentID
StudentNumber
DiplomaID
is_a
SESSION
SessionID
ModulID
LecturerID
HallID
Time
PRESENCE
StudentID
SessionID
Object Property
PERSON
DIPLOMA
HALL MODULE
SESSION
Ontology
LECTURER
STUDENT
16
Mapping Process - 4
For the tables in case 3, we map their referential constraints to object properties whose ranges will be the classes corresponding to their related tables
Database
DIPLOMA
DiplomaID
DiplomaName
HALL
HallID
HallName
Building
SESSION
SessionID
ModulID
LecturerID
HallID
Time
DiplomaID
MODULE
ModuleID
ModuleName
LECTURER
LecturerID
LecturerRoom
PERSON
DIPLOMA
HALL MODULE
SESSION
Ontology
LECTURER
STUDENT
is_a
Object Property
17
Mapping Process - 5
For tables that are in case 2 and have other referential constraints than this used to create the subclass, we map them to object properties as we done in the previous step
Database
DIPLOMA
DiplomaID
DiplomaName
STUDENT
StudentID
StudentNumber
DiplomaID
PERSON
DIPLOMA
HALL MODULE
SESSION
Ontology
LECTURER
STUDENT
is_a
Object Property
18
Mapping Process - 6
For all tables, non-key columns are mapped to datatype properties. The range of a datatype property is the XSD equivalent to the data type
of its original column.
is_aObject Property
Ontology
DIPLOMA
DiplomaIdDiplomaName
HallHallId
HallNameBuilding
MODULE
ModuleIdModuleName
SESSION
SessionIDTime
PERSONPersonId
FirstNameLastName
LECTURER
LecturerRoom
STUDENT
StudentNumber
Datatype Property
19
DB2OWL - Implementation
Database
DB Model
tables
constraintsOntolog
y Model
classes
OWL Ontology
JDBC JenaMapping algorithm
Mappingdocument
MappingModel
20
Future work
Map several relational databases to one ontology Map other database models to ontologies (OO) Map other data models (XML)
21
Thank you for your attention