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. 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 5.6.0 or newer and the following Perl modules properly installed: 

    XML::Parser 
    Storable 
    Digest 
    URI 
    BerkeleyDB 

To run BerkeleyDB you need Berkeley DB Version 2.6.4 or greater. The official web site for Berkeley DB is http://www.sleepycat.com.

Right now Perl 5.6.0 is required to get utf-8 support on Digest generation and to "localise" the socket handlers in the XML::Parser::PenRDF::wget() method. From version 0.4 (see snap) this problem will be solved switching back to previous typeglob handler way. 

BUILDING AND INSTALLATION

It is the basic CPAN Perl way of doing:

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

To build and install DBMS support:
cd dbms;
make;
make install;

(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 here about instructions.

DOCUMENTATION

I am not finished with a decent documentation of what I have done. You might
want to refer to the Perl pod documentation coming with the RDFStore
distribution using hte perldoc command.
Additionally you can refer to the good Javadoc stuff of Sergey at
http://www-db.stanford.edu/~melnik/rdf/api-doc/
If you want to read more about the TCP/IP based storage go at http://pen.jrc.it/documentation/final-technical-report-1999/final-technical-report-1999.htm#_Toc463634472.

RELATED STUFF

Storing RDF in relational databases - http://www-db.stanford.edu/~melnik/rdf/db.html
The RADIX proposal by Ron Daniel - http://www.mailbase.ac.uk/lists/rdf-dev/1999-06/0002.html
Redland RDF Application Framework - Perl Interface - http://www.redland.opensource.ac.uk/docs/perl.html
Web Resource Application Framework (WRAF) - http://sourceforge.net/projects/wraf/

DEVELOPMENT

The homepage for RDFStore is http://xml.jrc.it/RDFStore
A public mailing about technical developments, updates and bug reports
is available at rdfstore@egroups.com and archived at http://www.egroups.com/group/rdfstore

COPYRIGHT

Copyright (c) 2000 All rights reserved
Alberto Reggiori / <alberto.reggiori@jrc.it>
ISIS/RIT, Joint Research Center Ispra (I)