new_temporary( $type )
Returns a new unique (in the context of the query planner) ID string that may be used for things like
fresh (temporary) variables. The $type string is used in the generated name to aid in identifying
different uses for the names.
"plan_for_algebra( $algebra, $model, \@active_graphs, \@default_graphs )"
Returns the first plan returned from "plans_for_algebra".
"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.
"simplify_path( $subject, $path, $object )"
Return a simplified Attean::API::Algebra object corresponding to the given property path.
"new_projection( $plan, $distinct, @variable_names )"
Return a new Attean::Plan::Project plan over $plan, projecting the named variables. $disctinct should
be true if the caller can guarantee that the resulting plan will produce distinct results, false
otherwise.
This method takes care of computing plan metadata such as the resulting ordering.
"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.
"joins_for_plan_alternatives( $model, \@active_graphs, \@default_graphs, $interesting, \@plan_A,
\@plan_B, ... )"
Returns a list of alternative plans that may all be used to produce results matching the join of
"plan_A", " plan_B ">, etc. Each plan array here (e.g. @plan_A) should contain equivalent plans.
"access_plans( $model, $active_graphs, $pattern )"
Returns a list of alternative Attean::API::Plan objects that may be used to produce results matching
the Attean::API::TripleOrQuadPattern $pattern in the context of $active_graphs.
"join_plans( $model, \@active_graphs, \@default_graphs, \@plan_left, \@plan_right, $type [, $expr] )"
Returns a list of alternative plans for the join of one plan from @plan_left and one plan from
@plan_right. The join $type must be one of 'inner', 'left', or 'minus', indicating the join algorithm
to be used. If $type is 'left', then the optional $expr may be used to supply a filter expression
that should be used by the SPARQL left-join algorithm.