Transcript Slide

RDF Access to Relational
Databases
Ashok Malhotra
Oracle Corporation
Extracting Information from
Relational Databases
 There is very valuable data stored in
Relational Databases
 We should be able to do a much better job
of extracting information from this data
 There are two basic problems
–
–
–
–
Related data is often fragmented among many isolated
databases
Relational databases have very little semantic information
Semantic information oftem stored on bits of paper or in the
minds of the developer
Sometimes encoded in table and column names
Thus, we propose …
 Step1 – Collect all the relevant Relational
Databases.
 Step 2 – Create an ontology or ‘semantic
cover’ encompassing the information in the
databases
–
–
This is a difficult process
More art than science
Relationships between
databases
 These can take many different forms:
 Analogous data in one database might be
represented in a different number of tables
in another database.
 Analogous data in one database might be
represented in a different number of
columns in another database.
 Analogous data in one database might be
represented in a different number of rows in
another database
Relationships between
databases
Analogous data in one database might be
represented using different values in another
database (e.g., one database uses "m" and "f" for
"male" and "female", while the other might use "0"
and "1", respectively), or the same values in the
various databases might mean different things (e.g.,
one database uses "1" and "0" for "male" and
"female", while the other might use "0" and "1",
respectively), or the values in the various databases
might be incompatible in ways that make the
mapping very difficult (e.g., one database uses "0"
and "1" for "male" and "female", respectively, which
the other database uses values from "0" through "9"
to represent medically-significant variations of
human sexes, such as types of hermaphrodites).
Thus, we propose …
 Step 3
–
–
Write a SQL query to extract data relevant to the class from
each participating database
Write an integrating query to integrate the data obtained
from the individual databases to create the data for the
class
 It is now possible to write queries on the
semantic cover using SPARQL
Thus, we propose …
 Step 4
–
Translate SPARQL queries into underlying SQL queries
using the queries created for each class