AtteanX::Store::MemoryTripleStore(3) In-memory RDF triple store

VERSION

This document describes AtteanX::Store::MemoryTripleStore version 0.001

SYNOPSIS


use AtteanX::Store::MemoryTripleStore;

DESCRIPTION

AtteanX::Store::MemoryTripleStore provides an in-memory triple-store that is especially optimized for matching BGPs which contain at least one bound subject or object (e.g. preferring star or path queries rather than analytical queries).

The triple store is read-only, requiring a filename to be specified during construction which points at an N-Triples or Turtle file containing the RDF data to load. The triple store links with libraptor2 to allow fast parsing of input files.

METHODS

Beyond the methods documented below, this class consumes the Attean::API::TripleStore and Attean::API::CostPlanner roles.
"new (filename => $filename)"
Returns a new memory-backed storage object containing the RDF data parsed from the specified N-Triples- or Turtle-encoded file.
"get_triples ( $subject, $predicate, $object )"
Returns an iterator object of all Attean::API::Triple objects matching the specified subject, predicate and objects. Any of the arguments may be undef to match any value, an Attean::API::Term object, or an ARRAY reference containing a set of possible term values.
"plans_for_algebra ( $algebra )"
If $algebra is an Attean::Algebra::BGP object, returns a store-specific Attean::API::Plan object representing the evaluation of the entire BGP against the triplestore.

Otherwise, returns an empty list.

"cost_for_plan ( $plan )"
If $plan is a recognized store-specific Attean::API::Plan object, returns an estimated (relative) cost value for evaluating the represented BGP.

Otherwise returns "undef".

BUGS

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

AUTHOR

Gregory Todd Williams "<[email protected]>"

COPYRIGHT

Copyright (c) 2015 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License.