Attean::IDPQueryPlanner - Iterative dynamic programming query planner
This document describes Attean::IDPQueryPlanner version 0.005
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 );
The Attean::IDPQueryPlanner class implements a query planner using the iterative dynamic programming approach.
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.
$algebra
$model
$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.
@plansA
@plansB
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.
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.
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).
http://www.perlrdf.org/
Gregory Todd Williams <gwilliams@cpan.org>
<gwilliams@cpan.org>
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.
To install Attean, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Attean
CPAN shell
perl -MCPAN -e shell install Attean
For more information on module installation, please visit the detailed CPAN module installation guide.