DartGrid
Browser-based mapping tool of SQL to RDF Point Template
Zhejiang University & OpenLink Software
DartGrid
Contents
Why need semantic mapping? Identifies and records the SQL2RDF mapping issues Identify a set of mapping cases
1 3
2 3
4
Browser-based mapping tool of SQL to RDF is developed.
DartGrid
Why need semantic mapping tool?
Semantic mapping from Relational
1.
databases to RDF is the key problem in RDF-based databases integration.
2
Defining semantic mapping manually is a burdensome and errorprone work.
3
So far, there is none full-automatic mapping tool of SQL to RDF, most of which is defined manually..
DartGrid
2. Mapping cases
Mapping cases
W3C Banff life scienece demo
also has public available SQL versions.
THALIA Testbed
provides a collection of 40 relational database tables representing course information.
More: http://esw.w3.org/topic/SQL2OWL
DartGrid
2.1 Representation and notation
1
Graphical representation: each case is graphically represented for documentation purpose.
2
Abstract level: a mapping is abstractly described as a rule that has rule head and rule body.
3
Syntax level: for implementation purpose, the mappings are finally stored as virtuoso metaschema language MDL
DartGrid
2.1 Representation and notation(2)
R(?a,?b,?c,…)-: (uri, rdf:type, thalia:Course), (uri, foaf:name,?b), (uri, thalia:hasInstructor, uri2>), (uri2>, rdf:type, thalia:Instructor)
1
Variables: a,b
are original column names of the relational table.
2
uri...>: It is a
function used to generate universal resource identifiers.
3
Uri function: it
may be implemented as either generating a blank node ID (internal id) or global URI.
DartGrid
2.2 3 kinds of mapping cases
1
The simplest situation of mapping cases is a single table exactly maps to one single class in the ontology.
More complex situation is
2
mapping from one table to four ontological classes
Most complex situation is self-join
3
that is three or above tables are connected by foreign key, or one table has foreign key relationship with itself.
DartGrid
2.3 THALIA Testbed
1
The tested relational databases are taken from the THALIA Testbed benchmark.
2
It provides a collection of 40 relational database tables representing university course catalogs.
3
The data in the testbed provide a rich source of syntactic and semantic heterogeneities.
DartGrid
2.3.1 Description as a rule
Case 1 Arizona State University The asu table stores CS course information
of the Arizona State University. This mapping case is that a single table exactly maps to one single ontology class.
DartGrid
2.3.1 mapping mechanism
Fig.1 mapping case 1 of THALIA
DartGrid
2.3.1 Brown University case
1
The normal mapping systems often separately consider the schema-level mapping and instance-level mapping. Thialia:hasInstructor should be considered as a property (schema) in RDF, but is stored in a relational tuple(instance).
2
3
This use case illustrates the mapping from one table to four ontological classes.
DartGrid
2.3.2 Description as a rule
The brown table stores CS course
information of the Brown University. This use case illustrates the mapping from one table to four ontological classes: Course, Instructor, Event, Point.
DartGrid
2.3.1 mapping mechanism
Fig.2 mapping mechanism of Brown case
DartGrid
3. Browser-based mapping tool
1
This mapping tool is developed
based on OAT (OpenLink Ajax Toolkit)
2
This mapping tool is developed
to help domain experts to define the semantic mapping
3
This mapping tool provides a
lot of easy-to-use functionalities and has some special technical features.
DartGrid
3.1 Functional components
Display databases and ontology schema structure
Define instance-level mappings such as table-to-class or column-to-property
Mapping Tool
Define schema-level mappings (for complex joins between tables)
DartGrid
3.1.1 Instance-level mapping
Instance-level mapping is always simple and
easy to understand. Generally speaking, instance-level mapping has two types:
From tables to ontology classes From one column to one ontology property
3 situations of mapping tables to classes
From one table to one ontology class From one table to many ontology classes From many tables to one ontology class
DartGrid
3.1.2 Schema-level mapping
It is more complicated than instance-level mapping,
which is based on foreign key relation and relativity defined in ontology schema.
Ontology Schema
thalia:Course thalia:Course
rdf:type
uri>
student:select
rdf:type
s
?id
en tu d
t :i d
student:name
?name ?cid
uri>
course:id course:id
?cid
foreign key
Relational Schema
student id 1 2 3 nam e ... ... cid 10 11 12 course id 10 11 12 ... nam e
DartGrid
3.2 Technical Features
Drag-and-drop mapping Web browser-based tool
Browser-based Mapping tool
Visualization mapping Data source annotation
semi-auto mapping for complex joins
DartGrid
3.3 mapping tool pictures
Fig.2 DbView/OntoView
Fig.3 drag-and-drop mapping
DartGrid
4. Future work
Automate
Automate mapping process as far as possible by adding some heuristic rules to automate the semantic mapping task.
MDL
Adopt Virtuoso's SPARQL based Meta schema Language as the syntax mapping rule.
DartGrid
Click to edit subtitle style