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

NAME

Attean::IDPQueryPlanner - Iterative dynamic programming query planner

VERSION

This document describes Attean::IDPQueryPlanner version 0.006

SYNOPSIS

  use v5.14;
  use Attean;
  my $planner = Attean::IDPQueryPlanner->new();
  my $default_graphs = [ Attean::IRI->new('http://example.org/') ];
  my $plan = $planner->plan_for_algebra( $algebra, $model, $default_graphs );
  my $iter = $plan->evaluate($model);
  my $iter = $e->evaluate( $model );

DESCRIPTION

The Attean::IDPQueryPlanner class implements a query planner using the iterative dynamic programming approach.

ATTRIBUTES

METHODS

plans_for_algebra( $algebra, $model, \@active_graphs, \@default_graphs )

Returns Attean::API::Plan objects representing alternate query plans for evaluating the query $algebra against the $model, using the supplied $active_graph.

bgp_join_plans( $bgp, $model, \@active_graphs, \@default_graphs, \@interesting_order, \@plansA, \@plansB, ... )

Returns a list of alternative plans for the join of a set of triples. The arguments @plansA, @plansB, etc. represent alternative plans for each triple participating in the join.

group_join_plans( $model, \@active_graphs, \@default_graphs, \@interesting_order, \@plansA, \@plansB, ... )

Returns a list of alternative plans for the join of a set of sub-plans. The arguments @plansA, @plansB, etc. represent alternative plans for each sub-plan participating in the join.

BUGS

Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.

REFERENCES

The seminal reference for Iterative Dynamic Programming is "Iterative dynamic programming: a new class of query optimization algorithms" by D. Kossmann and K. Stocker, ACM Transactions on Database Systems (2000).

The heuristics to order triple patterns in this module is influenced by The ICS-FORTH Heuristics-based SPARQL Planner (HSP).

SEE ALSO

http://www.perlrdf.org/

AUTHOR

Gregory Todd Williams <gwilliams@cpan.org>

COPYRIGHT

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