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
[email protected] 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 <
[email protected]>