The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Attean::SimpleQueryEvaluator - Simple query evaluator

VERSION

This document describes Attean::SimpleQueryEvaluator version 0.033

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 as GRAPH ?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's model, 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's model, 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.