NAME
Attean::SimpleQueryEvaluator - Simple query evaluator
VERSION
This document describes Attean::SimpleQueryEvaluator version 0.034
SYNOPSIS
use v5.14;
use Attean;
my $algebra = Attean->get_parser('SPARQL')->parse('SELECT * WHERE { ... }');
my $active_graph = Attean::IRI->new('http://example.org/');
my $e = Attean::SimpleQueryEvaluator->new( model => $model );
my $iter = $e->evaluate( $algebra, $active_graph );
DESCRIPTION
The Attean::SimpleQueryEvaluator class implements a simple query evaluator that, given an Attean::API::Algebra and a Attean::API::Model object, evaluates the query represented by the algebra using data from the model, and returns a query result.
ATTRIBUTES
model
-
The Attean::API::Model object used for query evaluation.
default_graph
-
The Attean::API::IRI object representing the default graph in the
model
. The default graph will be excluded from enumeration of graph names for query features such asGRAPH ?g {}
. request_signer
-
If set, used to modify HTTP::Request objects used in evaluating SERVICE calls before the request is made. This may be used to, for example, add cryptographic signature headers to the request. The modification is performed by calling
$request_signer->sign( $request )
.
METHODS
evaluate( $algebra, $active_graph )
-
Returns an Attean::API::Iterator object with results produced by evaluating the query
$algebra
against the evaluator'smodel
, using the supplied$active_graph
. evaluate_pattern( $pattern, $active_graph, \@new_vars, \%blanks )
-
Returns an Attean::API::Iterator object with results produced by evaluating the triple- or quad-pattern
$pattern
against the evaluator'smodel
, using the supplied$active_graph
.If the
ground_blanks
option is false, replaces blank nodes in the pattern with fresh variables before evaluation, and populates%blanks
with pairs ($variable_name => $variable_node). Each new variable is also appended to@new_vars
as it is created.
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--2022 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.