RE: D2RQ Jena plug-in released for treating non-RDF databases as virtual RDF graphs

Chris and al,


Good job ! I was looking forward seeing such tool. I have developed my
own branch of mapping tool based on the former D2RM in order to map a
complex database. During my development, I have came out with the need
to add a precondition to perform a mapping to a property. For example, a
property P1 (column) which does not have the information, it may use a
conventional null value (for example 0).

In this case, the mapping of the property is preconditioned by the fact
that P1!=0. You may more complex precondition based on Boolean
expression using comparator and Boolean operator AND/OR/NOT. Using SQL
syntax for this adequate.


The following example show how an ellipsoid mapping can be described.

An ellipsoid can be described in 3 ways:


1)    (Semi-major axis, semi-minor axis)


The Precondition of mapping to use this case is:




The mapping is the following





        <d2r:preCondition>@@SEMI_MINOR_AXIS@@!=0 AND








2) (semi-major axis, inverse flattening) 


   The Precondition of mapping to use this case is:








        <d2r:preCondition>@@INV_FLATTENING@@!=0 AND
@@SEMI_MINOR_AXIS@@=0 AND @@ELLIPSOID_SHAPE@@=true</d2r:preCondition>







3)    (semi-major axis, isSphere). (case of a sphere)


The Precondition of mapping to use this case is:




  The mapping is defined as:


  <rdf:Property rdf:about="">











I think it would be very useful to get this capability in D2RQ. I would
like to align my internal implementation to this implementation provided
I get this important capability in the framework.


Your comments are welcome. 


Best regards


Stephane Fellah

Web Chief Architect


PCI Geomatics

490, Boulevard St Joseph

Hull, Quebec

Canada J8Y 3Y7

Tel: 1 819 770 0022 Ext. 223

Fax 1 819 770 0098

Visit our web site:




-----Original Message-----
From: Chris Bizer [] 
Sent: Tuesday, June 22, 2004 7:18 AM
Cc: Richard Cyganiak;;; Seaborne,
Andy;; Krishnamurthy, Venkat; Leo Sauermann; Sunil
Goyal;; Uwe Suhl
Subject: ANN: D2RQ Jena plug-in released for treating non-RDF databases
as virtual RDF graphs



Hi all,


we released the initial version of the D2RQ Jena plug-in under General

Public License today.


D2RQ is a declarative mapping language for treating non-RDF databases as

virtual RDF graphs within the Jena toolkit.


Using D2RQ you can:


1. access information in a non-RDF database using the Jena model API.

2. query a non-RDF database using RDQL or find(spo).

3. do RDFS and OWL inferencing over the content of a non-RDF database

the Jena ontology API.

4. publish the content of a non-RDF database on the Semantic Web using

Joseki RDF server.


The goal of D2RQ is to expose the content of huge, live, non-RDF

to the Semantic Web without having to replicate the database into RDF.


D2RQ is implemented as a Jena graph, the basic information

object within the Jena framework. A D2RQ graph wraps one or more local

relational databases into a virtual, read-only RDF graph. It rewrites

API calls, find() and RDQL queries to application-data-model specific

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 more information about D2RQ see

1. the D2RQ User Manual and Language Specification:

2. the D2RQ Website:


The D2RQ Jena plug-in can be downloaded from:


Lots of thanks to

1. Andy Seaborne (HP Labs, Bristol), Chris Dollin (HP Labs, Bristol) and

Kevin Wilkinson (HP Labs, Palo Alto) for their feedback on the D2RQ


2. Richard Cyganiak (FU Berlin) for helping to implement D2RQ and for

developing a performance test suite for D2RQ (results will be released





Chris Bizer






Received on Tuesday, 22 June 2004 12:52:57 UTC