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


  use 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);


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


  • 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.


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


Ginger Alliance,


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