Gregory Todd Williams > RDF-Trine > RDF::Trine::Store::Memory



Annotate this POD


View/Report Bugs
Module Version: 1.014   Source  


RDF::Trine::Store::Memory - Simple in-memory RDF store


This document describes RDF::Trine::Store::Memory version 1.014


 use RDF::Trine::Store::Memory;


RDF::Trine::Store::Memory provides an in-memory triple-store.


Beyond the methods documented below, this class inherits methods from the RDF::Trine::Store class.

new ()

Returns a new memory-backed storage object.

new_with_config ( $hashref )

Returns a new storage object configured with a hashref with certain keys as arguments.

The storetype key must be Memory for this backend.

This module also supports initializing the store from a file or URL, in which case, a sources key may be used. This holds an arrayref of hashrefs. To load a file, you may give the file name with a file key in the hashref, and to load a URL, use url. See example below. Furthermore, the following keys may be used:


The syntax of the parsed file or URL.


The base URI to be used for a parsed file.


Use this URI as a graph name for the contents of the file or URL.

The following example initializes a Memory store based on a local file and a remote URL:

  my $store = RDF::Trine::Store->new_with_config(
                  storetype => 'Memory',
                  sources => [
                      file => 'test-23.ttl',
                      syntax => 'turtle',
                      url => '',
                      syntax => 'rdfxml',
                      graph => ''

Returns a temporary (empty) triple store.

get_statements ( $subject, $predicate, $object [, $context] )

Returns a stream object of all statements matching the specified subject, predicate and objects. Any of the arguments may be undef to match any value.


Returns an RDF::Trine::Iterator over the RDF::Trine::Node objects comprising the set of contexts of the stored quads.

add_statement ( $statement [, $context] )

Adds the specified $statement to the underlying model.

remove_statement ( $statement [, $context])

Removes the specified $statement from the underlying model.

remove_statements ( $subject, $predicate, $object [, $context])

Removes the specified $statement from the underlying model.

count_statements ( $subject, $predicate, $object, $context )

Returns a count of all the statements matching the specified subject, predicate, object, and context. Any of the arguments may be undef to match any value.


If the store has the capability and knowledge to support caching, returns a persistent token that will remain consistent as long as the store's data doesn't change. This token is acceptable for use as an HTTP ETag.


Returns the number of statements in the store.

supports ( [ $feature ] )

If $feature is specified, returns true if the feature is supported by the store, false otherwise. If $feature is not specified, returns a list of supported features.


Please report any bugs or feature requests to through the GitHub web interface at


Gregory Todd Williams <>


Copyright (c) 2006-2012 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: