Redland

Dave Beckett

 
 

Data

DOAP
(See DOAP Project)

Redland RDF Language Bindings - Perl RDF::Redland::Storage Class

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.

Work in DIR directory when creating files.

File creation mode, default is (octal) 0644 Takes decimal (123), hex (0x123) or octal (0123).

Enable statement contexts. Each statement can be stored with an optional context Node and the context retrieved after queries. Boolean.

Use the TYPE hash-type for hashes storage. Current defined types are 'memory' and 'bdb' but is dependent on the hash factories available.

Enable indexing from predicates to (subject,object) which can in particular be useful for rdf:type relations. Boolean.

Whether model/storage method add_statements should be optimized, until a model/storage sync operation. Boolean.

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

the RDF::Redland::Model manpage

AUTHOR

Dave Beckett - http://www.dajobe.org/

(C) Copyright (C) 2000-2007 Dave Beckett, (C) Copyright (C) 2000-2005 University of Bristol