- From: Chris Bizer <chris@bizer.de>
- Date: Thu, 12 Aug 2004 14:55:24 +0200
- To: <www-rdf-interest@w3.org>
Hi all, we have released D2RQ V0.2 today. 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 mappings allow RDF applications to access the content of huge, non-RDF databases using Semantic Web query languages like RDQL. Using D2RQ you can: + query a non-RDF database using RDQL or find(spo). + publish the content of a non-RDF database on the Semantic Web using the Joseki RDF server. + access information in a non-RDF database using the Jena model API. + do RDFS and OWL inferencing over the content of a non-RDF database using the Jena ontology API. D2RQ is implemented as a Jena graph, the basic information representation object within the Jena framework. A D2RQ graph wraps one or more local relational databases into a virtual, read-only RDF graph. It rewrites Jena API calls, find() and RDQL queries to application-data-model specific SQL queries. The result sets of these SQL queries are transformed into RDF triples which are passed up to the higher layers of the Jena framework. For details about D2RQ see: + D2RQ Homepage: http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/ + D2RQ User Manual and Language Specification: http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/spec/ The new D2RQ V0.2 release contains significant language extensions and has a better query performance than the previous release. Language extensions: + d2rq:TranslationTable between DB and RDF values added. + d2rq:condition added; allows filtering by SQL expression. + d2rq:AdditionalProperty added. + d2rq:containsDuplicates hint added. + d2rq:class added; alternative to d2rq:classMap. + d2rq:property added; alternative to d2rq:propertyBridge. Speed improvements: + d2rq:valueContains performance optimization hint added. + d2rq:valueMaxLength performance optimization hint added. + d2rq:valueRegex performance optimization hint added. + major speed improvement for queries with large result sets. + major speed improvement for maps with URL columns. Other: + logging facility added. + security fix: SQL injection vulnerability fixed. + bug fix: issue with missing statements when using joins and NULL values. + improved map consistency checking and better error messages + GraphD2RQ and ModelD2RQ can also be initialised from RDF/XML map file. + GraphD2RQ and ModelD2RQ can also be initialised from Jena map model. + architectural changes for better maintainability. + JUnit test suite added. + many small fixes, improvements, speedups and refactorings. D2RQ V0.2 is now faster than the Jena 2 database backend for most relevant queries. See benchmark results for details: http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/benchmarks/ Lots of thanks to Richard Cyganiak (Free University Berlin) who did most of the implementation work on D2RQ V0.2 and contributed great ideas. Cheers, Chris Bizer
Received on Thursday, 12 August 2004 12:50:08 UTC