---
name: "RDF::Trine::Store::Hexastore"
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::Hexastore"
---

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

RDF store implemented with the hexastore index

## NAME

RDF::Trine::Store::Hexastore - RDF store implemented with the hexastore index

## VERSION

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

## SYNOPSIS

```
 use RDF::Trine::Store::Hexastore;
```

## DESCRIPTION

RDF::Trine::Store::Hexastore provides an in-memory triple-store based on six-way indexing as popularized by Hexastore.

## METHODS

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

- "new ()"

  Returns a new 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 `"Hexastore"` 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.

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

  ```
    my $store = RDF::Trine::Store->new_with_config( {
        storetype => 'Hexastore',
        sources => [
            {
                file => 'test-23.ttl',
                syntax => 'turtle',
            },
            {
                url => 'http://www.kjetil.kjernsmo.net/foaf',
                syntax => 'rdfxml',
            }
    ]});
  ```

- "store ( $filename )"

  Write the triples data to a file specified by `$filename`. This data may be read back in with the `"load"` method.

- "load ( $filename )"

  Returns a new Hexastore object with triples data from the specified file.

- "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\_pattern ( $bgp \[, $context\] )"

  Returns a stream object of all bindings matching the specified graph pattern.

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

- "get\_contexts"

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

- "etag"

  Returns an Etag suitable for use in an HTTP Header.

- "nuke"

  Permanently removes all the data in the store.

- "count\_statements ($subject, $predicate, $object)"

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

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