RDF::Redland::Storage(3pm)
NAME
RDF::Redland::Storage - Redland RDF Storage Class
SYNOPSIS
use RDF::Redland;
my $storage=new RDF::Redland::Storage("hashes", "test", "new='yes',hash-type='memory'");
...
DESCRIPTION
Create objects for storing RDF::Redland::Model objects either
persistently or in memory.
CONSTRUCTORS
- new STORAGE_NAME [NAME [OPTIONS_STRING]]
- Create a new RDF::Redland::Storage object for the storage factory
named STORAGE_NAME with storage named NAME and storage options OPTIONS_STRING which are specific to the storage factory type. - The storage options may be given either as a Perl hash or as a
string. The string form are formatted in the form
key1='value1',key2='value2' and the single quotes are required. The Perl hash form follows normal Perl conventions, and the boolean
options use normal Perl concepts of truth. - Currently defined storage options:
- new='yes'
Create a new storage erasing any existing one (boolean,
default). - write='yes'
Provide write access to store (boolean, default) otherwise is
read only. - dir='DIR'
Work in DIR directory when creating files.
- mode='MODE'
File creation mode, default is (octal) 0644 Takes decimal
(123), hex (0x123) or octal (0123). - contexts='yes'
Enable statement contexts. Each statement can be stored with
an optional context Node and the context retrieved after
queries. Boolean. - hash-type='TYPE' (hashes storage only)
Use the TYPE hash-type for hashes storage. Current defined types are 'memory' and 'bdb' but is dependent on the hash
factories available. - index-predicates='yes' (hashes storage only)
Enable indexing from predicates to (subject,object) which can
in particular be useful for rdf:type relations. Boolean. - bulk='no' (mysql storage only)
Whether model/storage method add_statements should be
optimized, until a model/storage sync operation. Boolean. - merge='no' (mysql storage only)
Whether to maintain a table with merged models. Boolean.
- Example, string form:
$storage=new RDF::Redland::Storage("hashes", "test","new='yes',hash-type='bdb',dir='.'"); - Example, Perl hash form:
$storage=new RDF::Redland::Storage("hashes", "test",{new=>1,hash-type=>'bdb',dir=>'.'});- Creates a new storage of the hashes type (indexed hashes) named
test (these will be file names or URIs if the storage is
persistent) and with options new='yes',hash-type='bdb',dir='.' so a new storage is created with BerkeleyDB (BDB) key:value hashes i.e. persistent and in the current directory. - Example, Perl hash form:
$storage=new RDF::Redland::Storage("mysql", "test", {host=>'localhost',database=>'testdb',user=>'testuser',new=>0,password=>'',contexts=>1});- Uses an existing storage of the mysql type, named test on localhost with database name testdb using a user testuser and no password. Contexts are enabled.
- new_from_storage STORAGE
- Create a new RDF::Redland::Storage object from
RDF::Redland::Storage STORAGE (copy constructor). The new storage may have a new name chosen by the storage factory.
SEE ALSO
RDF::Redland::Model
AUTHOR
- Dave Beckett - http://www.dajobe.org/