NAME
	RDFStore - Perl API for RDF Storage

FEATURES

*Modular interface using packages
*Perl-way API to fetch, parse, process, store and query RDF models
*W3C RDF and strawman syntax parsing
*Perl TIE seamless access to RDF triplet databases
*Either DB_File and BerkeleyDB support
*Automatic Vocabulary generation
*Basic RDF Schema support
*Initial TCP/IP remote storage service support

DESCRIPTION

RDFStore is a set of Perl modules to manage Resource Description Framework
(RDF) model databases in a easy and straightforward way. It is a pure Perl
implementation of the Draft Java API from the Stanford University DataBase
Group (http://www-db.stanford.edu/~melnik/rdf/api.html) by Sergey Melnik 
with some additional cool modules to read/write RDF triples directly from 
the Perl language environment.
By using the Perl TIE interface, a generic application script can access RDF
triplets using normal key/value hashes; the storage can happen either
in-memory data structures (not tie) or on the local filesystem by using the
DB_File.pm or BerkeleyDB.pm modules. An experimental remote storage service
is also provided using a custom DBMS.pm module coupled with a fast and
performant TCP/IP deamon (http://rdfstore.jrc.it/dbms.html). The deamon has been written entirely in the C
language and is actually storing the data in Berkeley DB v1.x files; such a
software is similar to the rdfbd (http://web1.guha.com/rdfdb/) approach from Guha.
The input RDF files are being parsed and processed by using a streaming
SiRPAC like parser completely written in Perl. Such an implementation
includes most of the proposed bug fixes and updates as suggested on the W3C
RDF-interest-Group mailing list and on the SiRPAC Web site.
A strawman parser for a simplified syntax proposed by Jonathan Borden at
http://www.openhealth.org/RDF/rdf_Syntax_and_Names.htm, Jason Diamond's at
http://www.injektilo.org/rdf/rdf.xsl and Dan Connolly at http://www.w3.org/XML/2000/04rdf-parse/ is also included. By using the Sablotron XSLT engine is then possible to easily tranform XML documents to RDF and query them from the Perl language.

PREREQUISITES

To run RDFStore you need Perl and the following modules properly installed:

    XML::Parser 
    Storable 
    Digest 
    URI 

To use BerkeleyDB support you need Berkeley DB Version 2.6.4 or greater installed together with the Perl BerkeleyDB extension. The official web site for Berkeley DB is http://www.sleepycat.com.

BUILDING AND INSTALLATION

It is the basic CPAN Perl way of doing:

perl Makefile.PL;
make;
make test;
make install;

In addition, you can install the (optional) DBMS module for TCP/IP remote storage by:
 
cd dbms;
make;
make test;
make install;
 
NOTE: the dbmsd(8) code uses old Berkeley DB 1.x style interface. If you can not get it compile, do not disperate and try to use perl land BerkleyDB, DB_File or SDBM_File styles instead :-)

(by default the dbmsd gets installed under the /RDFStore branch)

If you need to install and compile your own version of Berkeley DB look at http://www.sleepycat.com/docs/index.html about instructions.

DOCUMENTATION

The RDFStore Perl API documentation is now available at http://rdfstore.jrc.it/documentation/api.html. You might want to refer to the Perl pod documentation coming with the RDFStore distribution using hte perldoc command or by browsing through it at http://rdfstore.jrc.it/documentation/pod.
Additionally you can refer to the good Javadoc stuff of Sergey at http://www-db.stanford.edu/~melnik/rdf/api-doc/ (or at http://rdfstore.jrc.it/documentation/doc/). If you want to read more about the TCP/IP based storage go at http://rdfstore.jrc.it/dbms.html.

SUPPORT & DEVELOPMENT

The homepage for RDFStore is http://rdfstore.sourceforge.net
A public mailing about technical developments, updates and bug reports
is available at rdfstore@yahoogroups.com and archived at http://groups.yahoo.com/group/rdfstore

DEMONSTRATION

An on-line demostration of the capabilities of RDFStore is available at http://rdfstoredemo.jrc.it. It does allow to parse either canonical RDF, strawman xml syntax and query the resulting model. Each model generated while parsing can be dumped back to strawman xml or visualised as GIF picture. 

COPYRIGHT

Copyright (c) 2000 All rights reserved
Alberto Reggiori <areggiori@webweaving.org>
