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/