Attean::TripleModel(3) RDF model backed by a set of triple-stores


This document describes Attean::TripleModel version 0.017


use v5.14;
use Attean;
my $model = Attean::TripleModel->new( stores => {
'' => $store1,
'' => $store2,
} );


The Attean::TripleModel class represents a model that is backed by a set of Attean::API::TripleStore objects, identified by an IRI string. It conforms to the Attean::API::Model role.

The Attean::TripleModel constructor requires one named argument:

A hash mapping graph IRI values to Attean::API::TripleStore objects representing the backing triple-store for that graph.


"get_quads ( $subject, $predicate, $object, $graph )"
Returns an Attean::API::Iterator for quads in the model that match the supplied $subject, $predicate, $object, and $graph. Any of these terms may be undefined or a Attean::API::Variable object, in which case that term will be considered as a wildcard for the purposes of matching.

The returned iterator conforms to both Attean::API::Iterator and Attean::API::QuadIterator.

"plans_for_algebra( $algebra, $planner, $active_graphs, $default_graphs )"
Delegates to an underlying store if the active graph is bound to the store, and the store consumes Attean::API::CostPlanner.
"cost_for_plan( $plan )"
Attempts to delegate to all the underlying stores if that store consumes Attean::API::CostPlanner.
"add_store( $graph => $store )"
Add the Attean::TripleStore $store object to the model using the IRI string value $graph as the graph name.
"create_graph( $graph )"
Create a new Attean::TripleStore and add it to the model using the Attean::API::IRI $graph as the graph name.

The store is constructed by using this object's "store_constructor" attribute:

  my $store = $self->store_constructor->($graph);
"drop_graph( $graph )"
Removes the store associated with the given $graph.
"add_quad ( $quad )"
Adds the specified $quad to the underlying model.
"remove_quad ( $quad )"
Removes the specified $quad from the underlying store.
"drop_graph( $graph )"
Removes the store associated with the given $graph.
"clear_graph( $graph )"
Removes all quads with the given $graph.


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


Gregory Todd Williams "<[email protected]>"


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