sunitha ramanujam vaibhav khadilkar latifur khan steven
play

- 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


  1. - Sunitha Ramanujam, Vaibhav Khadilkar, Latifur Khan, Steven Seida, Murat Kantarcioglu, Bhavani Thuraisingham

  2. Agenda  Research Motivation  Current Work in the Arena  Our Approach  D2RQ Basics  The D2RQ++ Approach  Algorithms comprising D2RQ++  Exper imental Results  Conclusions & Future Work

  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

  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

  5. OntoAccess Mapping Language  TableMap Listing  AttributeMap Listing  LinkTableMap Listing 5

  6. OntoAccess – Sparql/Update to SQL DML INSERT Data 6

  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 operations 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.

  8. D2RQ Basics Why D2RQ…  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

  9. What D2RQ is…  Tool for publishing content of relational databases on the Semantic Web  Consists of  D2RQ Mapping Language  D2RQ Engine  D2RQ Server

  10. D2RQ Mapping Language  Declarative language to express mappings between a given relational schemata and a RDF schemata

  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.

  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 EmpURI/EmpA Property Bridge(SLBNPB): Construct used to relate blank nodes Address that have only literal objects, each with d2rq:SLBNPB a unique predicate Street State City <Street> <State> <City>

  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 EmpURI/EmpA d2rq:ComplexLiteralBlankNode Phone PropertyBridge(CLBNPB): Construct used to relate blank nodes d2rq:CLBNPB containing repeating predicates (with simple literal objects) to relational Cell Cell Work database columns <CellNo> <WorkNo> <CellNo>

  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 EmpURI/EmpA EmpURI/EmpA d2rq:ResourceBlankNode (RBNPB): Projects Construct used to map blank nodes that have multiple predicates (that may d2rq:RBNPB Other Activities or may not be unique) leading to Works On Works On resource objects Works On Training Link to Link to Teaching Project1 Project3 Link to Link to Link to Training1 Course1 Project2

  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 EmpURI/EmpA EmpURI/EmpA Phone Address d2rq:SLBNPB d2rq:CLBNPB Street State Cell City Cell Work <CellNo> <Street> <State> <WorkNo> <City> d2rq:BelongsToBlankNode <CellNo>

  16. D2RQ++ - Issues & Solutions Issue 2 – Translation Process for RDF Blank Nodes Solution – Extend D2RQ’s mapping language Sample Map File Entry for an SLBNPB map:employee_address a d2rqrw:SimpleLiteralBlankNodePropertyBridge; d2rq:belongsToClassMap map:employee; EmpURI/EmpA d2rq:property vocab:employee_address; d2rq:propertyDefinitionLabel "employee address"; Address d2rq:pattern "@@employee.address_street@@/ @@employee.address_city@@/ @@employee.address_state@@"; . Street State City map:employee_address_street a d2rq:PropertyBridge; <Street> <State> d2rqrw:belongsToBlankNode map:employee_address; d2rq:belongsToClassMap map:employee; <City> d2rq:property vocab:employee_address_street; d2rq:propertyDefinitionLabel "employee address_street"; d2rq:column "employee.address_street";

  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

  18. Insert/Update Triple Procedure

  19. Insert/Update SLBNPB Procedure EmpURI/EmpA Address Street State City <Street> <State> <City>

  20. D2RQ++ Results Initial Data in MySQL Relational Database Schema

  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 oyee/1" ), model.createProperty( "http://localhost:2020/vocab/resource/em ployee_empName" ), model.asRDFNode( Node.createLiteral( “Doe" ) ) );

  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" ) ) );

  23. D2RQ++ Results D2R++Server User Interface after adding a second name for an existing EmpID

  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" ));

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

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

  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 ) ) );

  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 operations 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

  29. Thank You 37

Recommend


More recommend