Scroll to navigation

RDF::Redland::Storage(3pm) User Contributed Perl Documentation 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

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:

Create a new storage erasing any existing one (boolean, default).
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.

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/

2022-08-18 perl v5.34.0