- Sunitha Ramanujam, Vaibhav Khadilkar, Latifur Khan, Steven Seida, - - PowerPoint PPT Presentation

sunitha ramanujam vaibhav khadilkar latifur khan steven
SMART_READER_LITE
LIVE PREVIEW

- Sunitha Ramanujam, Vaibhav Khadilkar, Latifur Khan, Steven Seida, - - PowerPoint PPT Presentation

- Sunitha Ramanujam, Vaibhav Khadilkar, Latifur Khan, Steven Seida, Murat Kantarcioglu, Bhavani Thuraisingham Agenda Research Motivation Current Work in the Arena Our Approach D2RQ Basics The D2RQ++ Approach Algorithms


slide-1
SLIDE 1
  • Sunitha Ramanujam, Vaibhav Khadilkar, Latifur Khan,

Steven Seida, Murat Kantarcioglu, Bhavani Thuraisingham

slide-2
SLIDE 2

Agenda

 Research Motivation  Current Work in the Arena  Our Approach

 D2RQ Basics  The D2RQ++ Approach  Algorithms comprising D2RQ++

 Experimental Results

 Conclusions & Future Work

slide-3
SLIDE 3

Research Motivation & Objectives

Current Trend: Semantic Web initiative for automated storage,

exchange, and usage of machine-readable information.

Effects of current trend: Resource Description Framework and

RDF Graph data model to realize the Semantic Web Initiative.

Challenges due to current trend: Demand for RDF applications

to access content of huge, live, legacy databases

Addressing these challenges:

  • Declarative languages proposed to express mappings between

legacy database schemata and RDF-S/OWL ontologies.

  • Legacy database data presented as virtual RDF Stores
  • We extend existing (read-only) work in the translation arena by

enabling inserts/updates/deletes to be propagated back to legacy databases thus making the translation process bidirectional.

3

slide-4
SLIDE 4

Current Work - ONTOACCESS

Ontology-based write access to relational data via SPARQL/Update.

Consists Of....

R3M – Update-aware RDBMS to RDF mapping language

Algorithms – Translate SPARQL/Update to SQL DML

4

slide-5
SLIDE 5

OntoAccess Mapping Language

TableMap Listing

5

AttributeMap Listing

LinkTableMap Listing

slide-6
SLIDE 6

OntoAccess – Sparql/Update to SQL DML

6

INSERT Data

slide-7
SLIDE 7

Our Approach – D2RQ++

 Wrapper around D2RQ that enables inserts/updates/deletes

to be propagated back to the underlying database

 Algorithms to translate RDF update triples into equivalent

relational attributes/tuples thereby enabling DML

  • perations on the underlying relational database schema.

 Extensions to support translation of blank node structures

to equivalent relational tuples.

 Preservation of the Open-World Assumption by

maintaining a separate native RDF store to house triples that are mismatched with the underlying relational database schema.

slide-8
SLIDE 8

D2RQ Basics

 Semantic Web Technologies are maturing  Growing need for RDF applications to access legacy

database content without replicating the entire database into RDF

What you can do with D2RQ…

 Query a non-RDF database using SPARQL  Access information in a non-RDF database using the Jena

API

 Access the contents of a non-RDF database as Linked

Data over the Web

Why D2RQ…

slide-9
SLIDE 9

What D2RQ is…

 Tool for publishing content of relational databases on the

Semantic Web

 Consists of

 D2RQ Mapping Language  D2RQ Engine  D2RQ Server

slide-10
SLIDE 10

D2RQ Mapping Language

 Declarative language to express mappings between a

given relational schemata and a RDF schemata

slide-11
SLIDE 11

D2RQ++ - Issues & Solutions

Issue 1 – Preservation of Open-World Assumption Solution – Maintenance of a separate native RDF Store which houses

 Triples that do not have an equivalent entity/attribute

mapping within the underlying relational database schema

 Duplicate triples that would otherwise result in

information loss due to overwriting of existing values

 Subsequent querying of corresponding attribute returns a

union of both values from the two data stores.

slide-12
SLIDE 12

D2RQ++ - Issues & Solutions

Issue 2 – Translation Process for RDF Blank Nodes Solution – Extend D2RQ’s mapping language by adding new constructs to map various types of blank nodes

d2rq:SimpleLiteralBlankNode Property Bridge(SLBNPB): Construct used to relate blank nodes that have only literal objects, each with a unique predicate

EmpURI/EmpA <Street> <City>

City Street Address State

<State>

d2rq:SLBNPB

slide-13
SLIDE 13

D2RQ++ - Issues & Solutions

Issue 2 – Translation Process for RDF Blank Nodes Solution – Extend D2RQ’s mapping language by adding new constructs to map various types of blank nodes

d2rq:ComplexLiteralBlankNode PropertyBridge(CLBNPB): Construct used to relate blank nodes containing repeating predicates (with simple literal objects) to relational database columns

EmpURI/EmpA <WorkNo> <CellNo>

Phone Cell Cell Work

<CellNo>

d2rq:CLBNPB

slide-14
SLIDE 14

D2RQ++ - Issues & Solutions

Issue 2 – Translation Process for RDF Blank Nodes Solution – Extend D2RQ’s mapping language by adding new constructs to map various types of blank nodes

d2rq:ResourceBlankNode (RBNPB): Construct used to map blank nodes that have multiple predicates (that may

  • r may not be unique) leading to

resource objects

EmpURI/EmpA

Projects

Link to Project1 Link to Project2 Link to Project3

Works On Works On Works On

EmpURI/EmpA

Other Activities

Link to Training1 Link to Course1

Training Teaching

d2rq:RBNPB

slide-15
SLIDE 15

D2RQ++ - Issues & Solutions

Issue 2 – Translation Process for RDF Blank Nodes Solution – Extend D2RQ’s mapping language by adding new constructs to map various types of blank nodes

d2rq:BelongsToBlankNode: Construct used to relate a relational attribute to the parent blank node

d2rq:SLBNPB

EmpURI/EmpA <Street> <City>

City Street Address State

<State>

d2rq:CLBNPB

EmpURI/EmpA <WorkNo> <CellNo>

Phone Cell Cell Work

<CellNo>

d2rq:BelongsToBlankNode

slide-16
SLIDE 16

D2RQ++ - Issues & Solutions

Issue 2 – Translation Process for RDF Blank Nodes Solution – Extend D2RQ’s mapping language

map:employee_address a d2rqrw:SimpleLiteralBlankNodePropertyBridge; d2rq:belongsToClassMap map:employee; d2rq:property vocab:employee_address; d2rq:propertyDefinitionLabel "employee address"; d2rq:pattern "@@employee.address_street@@/ @@employee.address_city@@/ @@employee.address_state@@"; . map:employee_address_street a d2rq:PropertyBridge; d2rqrw:belongsToBlankNode map:employee_address; d2rq:belongsToClassMap map:employee; d2rq:property vocab:employee_address_street; d2rq:propertyDefinitionLabel "employee address_street"; d2rq:column "employee.address_street";

EmpURI/EmpA <Street> <City>

City Street Address State

<State>

Sample Map File Entry for an SLBNPB

slide-17
SLIDE 17

D2RQ++ - Issues & Solutions

Issue 3 – Order of Updates to ensure preservation of referential integrity constraints Solution – Introduction of periodic flush algorithm

 Triples violating referential integrity constraints initially

accommodated in native RDF Store

 Native RDF Store triples periodically checked to verify

presence of parent key in underlying relational database

 If yes, then triple transferred to relational database and

deleted from native RDF store

slide-18
SLIDE 18

Insert/Update Triple Procedure

slide-19
SLIDE 19

Insert/Update SLBNPB Procedure

EmpURI/EmpA <Street> <City>

City Street Address State

<State>

slide-20
SLIDE 20

D2RQ++ Results

Initial Data in MySQL Relational Database Schema

slide-21
SLIDE 21

D2RQ++ Results

D2R++Server Interface for adding a second name for an existing EmpID

model.add( model.createResource( "file:///home/vaibhav/employee.n3#empl

  • yee/1" ),

model.createProperty( "http://localhost:2020/vocab/resource/em ployee_empName" ), model.asRDFNode( Node.createLiteral( “Doe" ) ) );

slide-22
SLIDE 22

D2RQ++ Results

Data in MySQL Relational Database Schema and native RDF Store after adding a second name for an existing EmpID

model.add( model.createResource( "file:///home/vaibhav/emplo yee.n3#employee/1" ), model.createProperty( "http://localhost:2020/vocab /resource/employee_empNa me" ), model.asRDFNode( Node.createLiteral( “Doe" ) ) );

slide-23
SLIDE 23

D2RQ++ Results

D2R++Server User Interface after adding a second name for an existing EmpID

slide-24
SLIDE 24

D2RQ++ Results

Data in MySQL Relational Database Schema and native RDF Store after adding a new triple with a brand new EmpID

model.add( model.createResource( "file:///home/vaibhav/employ ee.n3#employee/2" ));

slide-25
SLIDE 25

D2RQ++ Results

D2R++Server User Interface after removing the original and duplicate names for an existing EmpID

slide-26
SLIDE 26

D2RQ++ Results

Data in MySQL Relational Database Schema and native RDF Store after removing the original and duplicate names for an existing EmpID

slide-27
SLIDE 27

D2RQ++ Results

Data in MySQL Relational Database Schema and native RDF Store after removing an existing EmpID

model.remove( model.createResource( "file:///home/vaibhav/emplo yee.n3#employee/2" ), model.createProperty( "http://localhost:2020/vocab /resource/employee_empid" ), model.asRDFNode( Node.createLiteral( “2", null, XSDDatatype.XSDint ) ) );

slide-28
SLIDE 28

Conclusions

 A bi-directional RDBMS-to-RDF translation mechanism,

implemented as a wrapper around an existing unidirectional system called D2RQ, has been introduced.

 Screenshots of underlying relational database schema data

resulting from RDF insert/delete

  • perations

were presented as evidence of the feasibility of our research.

 Future Work

 Extending the flush algorithm to cover additional scenarios  Adding support for the concept of RDF Reification

36

slide-29
SLIDE 29

Thank You

37