DB to RDF transformation for the semantic web

Author: Martin İvihla, martin (at) svihla (dot) net
Home / MMPHP / METAmorphoses processor / RDF-Shout / Schema mapping editor /
Papers / Download



RDF-Shout is a simple Java Servlet application to publish data from a relational database as RDF documents on the web. The RDF-Shout uses METAmorphoses Processor as a core of its data transformation. Data transformation is based on a set of XML files that contains mapping between database schema and ontology and rules for RDF production.

Application scenario

The way how to enrich classical web portal with RDF metadata using RDF-Shout is shown on the picture. The classical (X)HTML portal is on the left side, RDF-Shout producing RDF on the right. There is no need to change web portal in order to deploy RDF-Shout. It just connects the same relational database and behaves like an independent application. The only neccessary thing is to create a mapping between database schema and ontology and templates for RDF production (see the documentation bellow).
Enriching web portal with RDF metadata using RDF-Shout


To transform your relational data to RDF using RDF-Shout you need only:


Download current tarball from, unzip to Apache Tomcat (or other servlet container) webapp/ directory, configure webapp.
Download current .war from, place to Apache Tomcat (or other servlet container) webapp/ directory, restart Tomcat.


The servlet takes HTTP requests in form xxxx.rdf, finds corresponiding xxxx.xml template file in WEB-INF/resources/templates/ and does data transformation based on this template. All strings $yyyy$ in xxxx.xml must be replaced by a proper value by sending HTTP parameter to servlet: xxxx.rdf?yyyy=value.


For more info see the documentation and samples for METAmorphoses Processor.


The project is being developed under Lesser GPL licence.

This is the short clarification of the licence:
METAmorphoses is Free Software. The LGPL license is sufficiently flexible to allow the use of METAmorphoses in both open source and commercial projects. Using METAmorphoses (by importing METAmorphoses's public interfaces in your Java code), and extending METAmorphoses (by subclassing) are considered by the authors of METAmorphoses to be dynamic linking. Hence our interpretation of the LGPL is that the use of the unmodified METAmorphoses source or binary, or the rebundling of unmodified METAmorphoses classes into your program's .jar file, does not affect the license of your application code.
If you modify METAmorphoses and redistribute your modifications, the LGPL applies.