RDF::Core::Storage::DB_File - Berkeley DB 1.x implementation of RDF::Core::Storage

- NAME
- SYNOPSIS
- DESCRIPTION

- Interface

- LICENSE
- AUTHOR
- SEE ALSO

# NAME

RDF::Core::Storage::DB_File - Berkeley DB 1.x implementation of RDF::Core::Storage

# SYNOPSIS

      require RDF::Core::Storage::DB_File;
      my $storage = new RDF::Core::Storage::DB_File(Name =>'./rdfdata',
                                                     MemLimit => 5000,
                                                    );
      my $model = new RDF::Core::Model (Storage => $storage);

# DESCRIPTION

The storage is based on DB_File module and is using tie mechanism to access data.

## Interface

- `new(%options)`
Available options are:

- Name
The name of the storage. Several files will be created beginning with the Name. If Name is undef, storage is held in memory. Default value is null.

- Flags, Mode
The options is passed to DB_File module when tying variables. Default values are O_CREAT|O_RDWR for Flags and 0666 for Mode.

- MemLimit
When statements are retrieved from the storage, they are passed as an in-memory implementation of enumerator RDF::Core::Enumerator::Memory or less-in-memory implementation RDF::Core::Enumerator::DB_File. Setting MemLimit to non-zero says that storage should never return Memory enumerator for number of statements larger then MemLimit. As the decision of what to return is made before the accurate count of statements returned is known, DB_File enumerator may be returned even if MemLimit is not exceeded.

- Sync
A number of write operations to process before synchronizing storage data cache with disk. 0 means don't force synchronizing.

The rest of the interface is described in RDF::Core::Storage.

# LICENSE

This package is subject to the MPL (or the GPL alternatively).

# AUTHOR

Ginger Alliance, rdf@gingerall.cz

# SEE ALSO

DB_File, RDF::Core::Storage, RDF::Core::Enumerator::Memory, RDF::Core::Enumerator::DB_File, RDF::Core::Model