rdftp: RDF Server

Vangelis Vassiliadis



1.     About rdftp  1

2.        Download, Installation and Configuration. 1


1.    About rdftp


rdftp is an RDF server that supports Query and Update operations on RDF content. The purpose of rdftp is to be an experimental implementation of an RDF Transmission Protocol. 


The rdftp server stores RDF content both in a relational database as RDF triples and in a hierarchical repository of RDF graphs/models, residing in the server’s filesystem as RDF files.


The rdftp server is implemented[1] as a PHP script and runs on top of any HTTP server that supports PHP. Both Query and Update operations[2] can be called using either HTTP GET or HTTP POST. rdftp also provides a simple HTML interface for “Navigating” through the Query results that are presented as Triples in a tabular form.


rdftp stores RDF data in a relational database as triples using a single-table approach. Apart from the triple itself, the table also contains information about the source model /graph of the triple.


This is the initial version (v. 0.5) of rdftp RDF Server. rdftp is available under the GNU/GPL license. Documentation and user guide is included in the Download.


Demo is available online.


2.    Download, Installation and Configuration


In order to run rdftp in your HTTP server you’ll need:

·        PHP v.4x support.

·        A mySQL database


1.      Download rdftp from www.semanticweb.gr and install in a directory on the www server.

2.      Edit config.php to match your server $RDF_SERVER_URI, rdf storage directory $RDF_SERVER_PATH, and database settings. Example:



$RDF_SERVER_URI        = "http://localhost/rdftp";

$RDF_SERVER_PATH       = "demo";

$RDFTP_SCRIPT          = "rdftp.php";

$RDFTP_SCRIPT_ADMIN    = "rdftp_admin.php";


$RDFDB_HOST     = "";

$RDFDB_DB       = "rdfdb";

$RDFDB_USER     = "foo";


$RDF_PARSER     = "java -cp \"jena.jar;xerces.jar;icu4j.jar\"  com.hp.hpl.jena.rdf.arp.NTriple ";




3.      Run the rdftp_admin.ph script to create the necessary tables in the database: Point your browser to http://<your_server_name>/<directory_name>/rdftp_admin.php?loginname=<your_db_user_name>&password=<your_db_password>

and click on the Create rdfdb tables (Purge any existing data) link.


4.      RDF Parser configuration is done using the $RDF_PARSER variable. Set this variable to the command line executable of the RDF parser. The parser is expected to read RDF data/files from the stdin and return N-Triples in the stdout (i.e. the way Jena’s parser is working).


Further documentation and user guide is included in the package.


Please send me any comments and suggestions about rdftp.


[1] Current implementation of rdftp uses PHP 4.x , MySQL 3.23 and Jena 1.5.0 and Xerces  for parsing the RDF models.

[2] Related work:”An RDF NetAPI. A position paper” by Andy Seaborne, Hewlett Packard Labs, Bristol UK.