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:

 

@@SEMI_MINOR_AXIS@@!=0 AND @@ELLIPSOID_SHAPE@@=true

 

The mapping is the following

 

  <rdf:Property
rdf:about="http://www.isotc211.org/iso19111#semiMinorAxis">

    <d2r:propertyBridge>

      <d2r:ObjectPropertyBridge
rdf:about="http://www.pcigeomatics.com/d2r/epsgMapping/ellipsoidSemiMino
rPB">

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

        <d2r:belongsToClassMap
rdf:resource="http://www.pcigeomatics.com/d2r/epsgMapping/secondDefining
ParameterCM"/>

        <d2r:refersToClassMap
rdf:resource="http://www.pcigeomatics.com/d2r/epsgMapping/semiMinorLengt
hMap"/>

      </d2r:ObjectPropertyBridge>

    </d2r:propertyBridge>

  </rdf:Property>

 

 

2) (semi-major axis, inverse flattening) 

 

   The Precondition of mapping to use this case is:

 

   @@INV_FLATTENING@@!=0 AND @@SEMI_MINOR_AXIS@@=0 AND
@@ELLIPSOID_SHAPE@@=true

 

<rdf:Property
rdf:about="http://www.isotc211.org/iso19111#inverseFlattening">

    <d2r:propertyBridge>

      <d2r:ObjectPropertyBridge
rdf:about="http://www.pcigeomatics.com/d2r/epsgMapping/invFlatteningOPB"
>

        <d2r:belongsToClassMap
rdf:resource="http://www.pcigeomatics.com/d2r/epsgMapping/secondDefining
ParameterCM"/>

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

        <d2r:refersToClassMap
rdf:resource="http://www.pcigeomatics.com/d2r/epsgMapping/invFlatteningC
M"/>

      </d2r:ObjectPropertyBridge>

    </d2r:propertyBridge>

  </rdf:Property>

 

 

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

 

The Precondition of mapping to use this case is:

 

   @@ELLIPSOID_SHAPE@@=false

 

  The mapping is defined as:

      

  <rdf:Property rdf:about="http://www.isotc211.org/iso19111#isSphere">

    <d2r:propertyBridge>

      <d2r:DatatypePropertyBridge
rdf:about="http://www.pcigeomatics.com/d2r/epsgMapping/isSpherePB">

        <d2r:belongsToClassMap
rdf:resource="http://www.pcigeomatics.com/d2r/epsgMapping/secondDefining
ParameterCM"/>

        <d2r:preCondition>@@ELLIPSOID_SHAPE@@=false</d2r:preCondition>

        <d2r:column>ellipsoid.ELLIPSOID_SHAPE</d2r:column>

      </d2r:DatatypePropertyBridge>

    </d2r:propertyBridge>

  </rdf:Property>

 

 

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:  www.pcigeomatics.com

 

 

 

-----Original Message-----
From: Chris Bizer [mailto:chris@bizer.de] 
Sent: Tuesday, June 22, 2004 7:18 AM
To: www-rdf-interest@w3.org
Cc: Richard Cyganiak; wilkinson@hpl.hp.com; kers@hpl.hp.com; Seaborne,
Andy; dwood@tucanatech.com; Krishnamurthy, Venkat; Leo Sauermann; Sunil
Goyal; nbi_wn@lists.spline.inf.fu-berlin.de; 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
using

the Jena ontology API.

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

Joseki RDF server.

 

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

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

 

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

1. the D2RQ User Manual and Language Specification:

http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/spec/index.htm

2. the D2RQ Website:

http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/index.htm

 

The D2RQ Jena plug-in can be downloaded from:

http://sourceforge.net/projects/d2rq-map/

 

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
language

specification.

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

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

soon).

 

Cheers,

 

Chris Bizer

 

 

 

 

 

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