Attean...lanner(3pm)
πΈ NAME πΈ
hii bestie!! This is the Attean...lanner(3pm) page from the User Contributed Perl Documentation (manual name folded in near the top so you don't have to read the same line twice π
). It's literally the page for Attean::QueryPlanner, the query planner, and we're gonna get through every detail together. Periodt.
β¨ VERSION β¨
This document describes Attean::QueryPlanner version 0.035. That's the version, no cap.
π¦ SYNOPSIS π¦
use v5.14;
use Attean;
my $planner = Attean::QueryPlanner->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);
while (my $result = $iter->next()) {
say $result->as_string;
}
π DESCRIPTION π
Okay so the Attean::QueryPlanner class is a base class implementing common behavior for query planners. Subclasses will need to consume or compose the Attean::API::JoinPlanner role. iykyk.
Trivial sub-classes may consume Attean::API::NaiveJoinPlanner, while more complex planners may choose to implement complex join planning (e.g. Attean::IDPQueryPlanner). So cute.
π ATTRIBUTES π
Nothing is listed under this heading on this page β it's giving clean slate, bestie. π«Ά
π METHODS π
Not me triple-checking every signature so you don't have to π.
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$typestring is used in the generated name to aid in identifying different uses for the names. slay.plan_for_algebra( $algebra, $model, \@active_graphs, \@default_graphs )β Returns the first plan returned fromplans_for_algebra. main character energy.plans_for_algebra( $algebra, $model, \@active_graphs, \@default_graphs )β ReturnsAttean::API::Planobjects representing alternate query plans for evaluating the query$algebraagainst the$model, using the supplied$active_graph. Yes, singular$active_graphβ that's what it says, bestie.simplify_path( $subject, $path, $object )β Return a simplifiedAttean::API::Algebraobject corresponding to the given property path.new_projection( $plan, $distinct, @variable_names )β Return a newAttean::Plan::Projectplan over$plan, projecting the named variables.$disctinctshould be true if the caller can guarantee that the resulting plan will produce distinct results, false otherwise. And yeah,$disctinctis spelled exactly like that in the original β not me, bestie π. 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 ofplan_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 alternativeAttean::API::Planobjects that may be used to produce results matching theAttean::API::TripleOrQuadPattern$patternin 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_leftand one plan from@plan_right. The join$typemust be one of'inner','left', or'minus', indicating the join algorithm to be used. If$typeis'left', then the optional$exprmay be used to supply a filter expression that should be used by the SPARQL left-join algorithm. obsessed.
π BUGS π
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues. fr fr.
π SEE ALSO π
No entries are listed under this heading on this page β the void is the vibe, bestie. π¦
π AUTHOR π
Gregory Todd Williams β "<gwilliams@cpan.org>". iconic.
π 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. periodt.
okay that's the whole page, bestie π This was Attean...lanner(3pm), with the footer source/version perl v5.40.0 and date 2025-01-26. mwah π«Άπ
π¦ where this page comes from
- debian trixie: libattean-perl 0.035-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libattean-perl 0.035-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libattean-perl 0.035-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms