---
name: "RDF::Trine::Store::Memory"
section: "3pm"
platform: "linux"
package: "librdf-trine-perl"
version: "1.019-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::Trine::Store::Memory"
---

# RDF::Trine::Store::Memory(3pm)

Simple in-memory RDF store

## NAME

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

## VERSION

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

## SYNOPSIS

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

## DESCRIPTION

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

## METHODS

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:

  - "syntax"

    The syntax of the parsed file or URL.

  - "base\_uri"

    The base URI to be used for a parsed file.

  - "graph" NOT IMPLEMENTED

    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 => 'http://www.kjetil.kjernsmo.net/foaf',
                        syntax => 'rdfxml',
                        graph => 'http://example.org/graph/remote-users'
                      }
                    ]
                  });
  ```

- "temporary\_store"

  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.

- "get\_contexts"

  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.

- "etag"

  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.

- "size"

  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.

## BUGS

Please report any bugs or feature requests to through the GitHub web interface at \<https://github.com/kasei/perlrdf/issues\>.

## AUTHOR

Gregory Todd Williams  `"<gwilliams@cpan.org>"`

## COPYRIGHT

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.
