The D2RQ Plattform - Treating Non-RDF Databases as Virtual RDF Graphs
[http://sites.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/]
As Semantic Web technologies are getting mature, there is a growing need for RDF applications to access the content of non-RDF, legacy databases without having to replicate the whole database into RDF.
D2RQ is a declarative language to describe mappings between relational database schemata and OWL/RDFS ontologies. The D2RQ Platform uses these mapping to enables applications to access a RDF-view on a non-RDF database through the Jena and Sesame APIs, as well as over the Web via the SPARQL Protocol and as Linked Data.
Using The D2RQ Platform you can:
- query a non-RDF database using the SPARQL query language,
- access information in a non-RDF database using the Jena API or the Sesame API,
- access the content of the database as Linked Data over the Web,
- ask SPARQL queries over the SPARQL Protocol against the database.
The D2RQ Platform consists of:
- the D2RQ Mapping Language, a declarative mapping language for describing the relation between an ontology and an relational data model.
- the D2RQ Engine , a plug-in for the Jena and Sesame Semantic Web toolkits, which uses the mappings to rewrite Jena and Sesame API calls to SQL queries against the database and passes query results up to the higher layers of the frameworks.
- D2R Server, an HTTP server that can be used to provide a Linked Data view, a HTML view for debugging and a SPARQL Protocol endpoint over the database.
he D2RQ Engine is implemented as a Jena graph, the basic information representation object within the Jena framework. A D2RQ graph wraps a local relational databases into a virtual, read-only RDF graph. It rewrites Jena or Sesame API calls, find() and SPARQL queries to application-data-model specific SQL queries. The result sets of these SQL queries are transformed into RDF triples or SPARQL result sets that are passed up to the higher layers of the framework. The D2RQ Sesame interface wraps the D2RQ Jena graph implementation behind a Sesame RDF source interface. It provides a read-only Sesame repository interface for querying and reasoning with RDF and RDF Schema.
D2R Server is a tool for publishing relational databases on the Semantic Web. It enables RDF and HTML browsers to navigate the content of the database, and allows applications to query the database using the SPARQL query language. D2R Server builds on the D2RQ Engine. For detailed information on how to set up D2R Server please refer to the separate D2R Server website.
For details about the D2RQ Platform see
- D2RQ User Manual and Language Specification
- D2RQ Language Specification (N3)
- D2R Server Homepage
- Benchmark results in comparison to the Jena 2 database backend
- D2RQ JavaDocs
- The D2RQ Platform can be downloaded from Sourceforge http://sourceforge.net/projects/d2rq-map/ (GNU GPL License)
Mailing List
We are very interested in hearing about your experiences with D2RQ, its performance with different databases, bugs and ideas for further language extensions.
Please sent your comments to the D2RQ mailing list:
d2rq-map-devel@lists.sourceforge.net
The archives of the list are found at: http://sourceforge.net/mailarchive/forum.php?forum=d2rq-map-devel
You can subscribe to the list at: http://lists.sourceforge.net/lists/listinfo/d2rq-map-devel
References
- Another active projects providing SPARQL access to relational databases are
- SquirrelRDF. In addition to relational databases, SquirrelRDF also supports access to LDAP directories.
- Virtuoso which seams to have use pritty smart rewriting algorithm and also supports Named Graphs.
- DartQuery. DartQuery is a component of the DartGrid application framework which rewrites SPARQL queries as SQL against legacy relational databases.
- SPASQL is an open-source module compiled into the MySQL server to give MySQL native support for RDF.
- A list of other projects and publications about database to RDF mapping is maintained at the ESW Wiki.
- W3C Workshop on RDF Access to relational Databases, Cambridge, USA, October, 2007
- An general overview about relational database to RDF mapping is given in RDF and SPARQL: Using Semantic Web Technology to Integrate the World's Data.
- Background information about the idea of Linked Data is found in How to publish Linked Data on the Web.
- List of our other open source projects @ Freie Universität Berlin