DartGrid Browser-based mapping tool of SQL to RDF Point Template Zhejiang University & OpenLink...

21
DartGrid Browser-based mapping Browser-based mapping tool of SQL to RDF Point tool of SQL to RDF Point Template Template Zhejiang University & OpenLink Zhejiang University & OpenLink Software Software

Transcript of DartGrid Browser-based mapping tool of SQL to RDF Point Template Zhejiang University & OpenLink...

DartGrid

Browser-based mapping tool of Browser-based mapping tool of SQL to RDF Point TemplateSQL to RDF Point Template

Zhejiang University & OpenLink Zhejiang University & OpenLink SoftwareSoftware

DartGrid

Contents

Identifies and records the SQL2RDF mapping issues2

Browser-based mapping tool of SQL to RDF is developed.4

Why need semantic mapping?31

Identify a set of mapping cases33

DartGrid

Why need semantic mapping tool?

1.1.Semantic mapping from Relational databases to RDF is the key problem in RDF-based databases integration.

22Defining semantic mapping manually is a burdensome and error-prone work.

33So far, there is none full-automatic mapping tool of SQL to RDF, most of which is defined manually..

DartGrid

2. Mapping cases

W3C Banff life scienece demo also has public available SQL versions.

Mapping cases

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.

3

Syntax level: for implementation purpose, the mappings are finally stored as virtuoso meta-schema language MDL

2

Abstract level: a mapping is abstractly described as a rule that has rule head and rule body.

DartGrid

2.1 Representation and notation(2)

1

Variables: a,b are original column names of the relational table.

3

Uri function: it may be implemented as either generating a blank node ID (internal id) or global URI.

2

uri<?...>: It is a function used to generate universal resource identifiers.

R(?a,?b,?c,…)-: (uri<?a>, rdf:type, thalia:Course), (uri<?a>, foaf:name,?b),

(uri<?a>, thalia:hasInstructor, uri<?2>), (uri<?2>, rdf:type,

thalia:Instructor)

DartGrid

2.2 3 kinds of mapping cases

11The simplest situation of mapping cases is a single table exactly maps to one single class in the ontology.

22More complex situation is mapping from one table to four ontological classes

33Most complex situation is self-join 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

11The tested relational databases are taken from the THALIA Testbed benchmark.

22It provides a collection of 40 relational database tables representing university course catalogs.

33The 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

11The normal mapping systems often separately consider the schema-level mapping and instance-level mapping.

22

Thialia:hasInstructor should be considered as a property (schema) in RDF, but is stored in a relational tuple(instance).

33This 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)

3

This mapping tool provides a lot of easy-to-use functionalities and has some special technical features.

2

This mapping tool is developed to help domain experts to define the semantic mapping

DartGrid

3.1 Functional components

Display databases and ontology schema structure

Define instance-level mappings such as table-to-class or column-to-property

Define schema-level mappings (for complex joins between tables)

Mapping ToolMapping Tool

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

Relational Schema

uri<?>

?id?name ?cid

student:id

student:name

student id name cid

1 ... 10

2 ... 11

3 12

course id name

10

11

12 ...

thalia:Course rdf:type

uri<?>

thalia:Course

rdf:type

course:id

?cid

course:id

student:select

foreign key

DartGrid

3.2 Technical Features

Drag-and-drop mapping

Web browser-based tool

Visualization mapping

Data source annotation

semi-auto mapping for complex joins

Browser-basedBrowser-basedMapping toolMapping tool

Browser-basedBrowser-basedMapping toolMapping tool

DartGrid

3.3 mapping tool pictures

Fig.2 DbView/OntoViewFig.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.

MDLMDL

Adopt Virtuoso's SPARQL based Meta schema Language as the syntax mapping rule.

DartGrid

Click to edit subtitle styleClick to edit subtitle style