NAME

RDFStore - This is a set of Perl modules that implement an object-oriented API to manipulate RDF models

SYNOPSIS

use RDFStore;

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 (see http://www-db.stanford.edu/~melnik/rdf/api.html) from the Stanford University DataBase Group by Sergey Melnik. Together with its companions RDFStore::Parser::SiRPAC(3) and Data::MagicTie(3) modules RDFStore suite allow a user to fetch, parse, process, store and query RDF models.

Modules like RDFStore::Stanford::RDFNode, RDFStore::Stanford::Literal, RDFStore::Stanford::Model and so on define a set of "O-O interfaces" to be implemented by concrete counterparts such as RDFStore::RDFNode, RDFStore::Model and others. The modules defined by RDFStore correspond to the Java org.w3c.rdf.model, org.w3c.rdf.util, org.w3c.rdf.implementation.model, org.w3c.tools.crypt, edu.stanford.db.rdf.schema, edu.stanford.db.rdf.vocabulary, org.w3c.rdf.vocabulary.rdf_syntax_19990222, org.w3c.rdf.vocabulary.rdf_schema_19990303, org.w3c.rdf.vocabulary.dublin_core_1999070 packages defined by Sergey Melnik; the Perl code has been structured as follow:

Perl packages 		   Java classes
--------------------------------------------------------------
RDFStore::Stanford::*				org.w3c.rdf.model
--------------------------------------------------------------
RDFStore::Stanford::Model			org.w3c.rdf.model.Model
RDFStore::Stanford::Literal 			org.w3c.rdf.model.Literal
RDFStore::Stanford::RDFNode 			org.w3c.rdf.model.RDFNode
RDFStore::Stanford::Resource 			org.w3c.rdf.model.Resource
RDFStore::Stanford::Statement 			org.w3c.rdf.model.Statement
RDFStore::Stanford::NodeFactory 		org.w3c.rdf.model.NodeFactory
RDFStore::Stanford::VirtualModel		org.w3c.rdf.model.VirtualModel
RDFStore::Stanford::SetModel 			org.w3c.rdf.model.SetModel

RDFStore::Stanford::Digest::* org.w3c.rdf.util,org.w3c.tools.crypt ---------------------------------------------------------------------------- RDFStore::Stanford::Digest org.w3c.rdf.tools.crypt.Digest RDFStore::Stanford::Digest::Util org.w3c.rdf.util.DigestUtil RDFStore::Stanford::Digest::AbstractDigest org.w3c.rdf.util.DigestUtil RDFStore::Stanford::Digest::GenericDigest org.w3c.rdf.util.DigestUtil RDFStore::Stanford::Digest::MD5 org.w3c.rdf.util.DigestUtil RDFStore::Stanford::Digest::SHA1 org.w3c.rdf.util.DigestUtil

RDFStore::* org.w3c.rdf.implementation.model,edu.stanford.db.rdf.schema --------------------------------------------------------------------------------------------------- RDFStore::Model org.w3c.rdf.implementation.model.Model RDFStore::Literal org.w3c.rdf.implementation.model.Literal RDFStore::RDFNode org.w3c.rdf.implementation.model.RDFNode RDFStore::Resource org.w3c.rdf.implementation.model.Resource RDFStore::Statement org.w3c.rdf.implementation.model.Statement RDFStore::NodeFactory org.w3c.rdf.implementation.model.NodeFactory RDFStore::VirtualModel org.w3c.rdf.implementation.model.VirtualModel RDFStore::SetModel org.w3c.rdf.implementation.model.SetModel RDFStore::SchemaModel edu.stanford.db.rdf.schema.RDFSchemaModel

RDFStore::Stanford::Vocabulary::* edu.stanford.db.rdf.vocabulary ------------------------------------------------------------------------------------------- RDFStore::Stanford::Vocabulary::Generator edu.stanford.db.rdf.vocabulary.Generator

RDFStore::Stanford::Vocabulary::RDF org.w3c.rdf.vocabulary.rdf_syntax_19990222.RDF RDFStore::Stanford::Vocabulary::RDFS org.w3c.rdf.vocabulary.rdf_schema_19990303.RDFS RDFStore::Stanford::Vocabulary::DC org.w3c.rdf.vocabulary.dublin_core_19990702.DC

The Perl RDF API implementation is almost aligned with the Java one (some feauture were left out because for it difficulty or impossibility in the implementation). E.g. Perl do not have Exceptions as built in construcut, and altough they could be easily implemented with eval() and $@ checking, RDFStore just uses the Carp module to warn, croak or confess on errors. In the RDFStore branch the modules code has been extended and modified to use the Data::MagicTie(3) interface and a different indexing mechanism in RDFStore::FindIndex(3). Similarly the RDFStore::Stanford::Vocabulary::Generator(3) now generates valid Perl5 modules containing constants definitions of input RDF Schema.

For the whole API documentation you can temporarly refer to the JavaDoc version at http://www-db.stanford.edu/~melnik/rdf/api-doc/

In addition I invite you to look at the samples and utils directory coming with the RDFStore distribution for a fruitful set of examples to play with :-)

BUGS

This module implements most of the classes and packages as its Java counterpart from the Stanford University Database Group by Sergey Melnik (see http://www-db.stanford.edu/~melnik/rdf/api.html), but some feature have been missied on purposed or just forgotten ;-) This RDFsotre version is up-to-date with the latest changes from current revision: 2000-12-05 of Stanford Java API.

Not supported:

* NodeFactory::createOrdinal()
* order/backorder experimental from Sergey Melnik

SEE ALSO

RDFStore::Parser::SiRPAC(3), DBMS(3) and XML::Parser(3) XML::Parser::Expat(3) RDFStore::Stanford::Model(3) RDFStore::NodeFactory(3) Summary of Recent Discussions about an Application Programming Interface for RDF - http://nestroy.wi-inf.uni-essen.de/rdf/sum_rdf_api/

RDF Model and Syntax Specification - http://www.w3.org/TR/REC-rdf-syntax RDF Schema Specification 1.0 - http://www.w3.org/TR/2000/CR-rdf-schema-20000327 Statements/Statings - http://ilrt.org/discovery/2000/11/statements/

AUTHOR

Alberto Reggiori <alberto.reggiori@jrc.it>

Sergey Melnik <melnik@db.stanford.edu> is the original author of the Java RDF API - txs Sergey!