NAME
Attean::TripleModel - RDF model backed by a set of triple-stores
VERSION
This document describes Attean::TripleModel version 0.016
SYNOPSIS
use v5.14;
use Attean;
my $model = Attean::TripleModel->new( stores => {
'http://example.org/graph1' => $store1,
'http://example.org/graph2' => $store2,
} );
DESCRIPTION
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:
- stores
-
A hash mapping graph IRI values to Attean::API::TripleStore objects representing the backing triple-store for that graph.
METHODS
size
count_quads
get_graphs
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
.
BUGS
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.
SEE ALSO
AUTHOR
Gregory Todd Williams <gwilliams@cpan.org>
COPYRIGHT
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.