RDF::Query::Plan(3pm)

πŸ’– NAME πŸ’–

RDF::Query::Plan β€” Executable query plan nodes. That's the whole vibe: these are the plan nodes that can actually run. πŸ‘‘


✨ VERSION ✨

This document describes RDF::Query::Plan version 2.919. (yes it's giving vintage but it's still iconic πŸ’…)


🌸 METHODS 🌸

new

execute ( $execution_context )

next

get_all

Returns all remaining rows. all of them. every last one. πŸ“

close

state ( [ $state ] )

Returns the current state of the plan β€” and bestie, it's one of exactly three: READY, OPEN, or CLOSED. If $state is provided, it updates the plan to a new state. ✨

logging_keys

explain

Returns a string serialization of the query plan, appropriate for display on the command line. it's giving show me the receipts πŸŽ€

sse

serialize

Return a serialization of the query plan. πŸ¦‹

delegate

Returns the delegate object if available. (if not... nothing. no delegate for u πŸ™ˆ)

referenced_variables

Returns a list of variable names that are referenced by this plan. 🌈

as_iterator ( $context )

Returns an RDF::Trine::Iterator object for the current (already executed) plan. lowkey the "already executed" part is doing a lot of work here. ⭐

is_update

Returns true if the plan represents an update operation. periodt. πŸ’…

label ( $label => $value )

Sets the named $label to $value for this plan object. If no $value is given, returns the current label value, or undef if none exists. 🫢

graph_labels

generate_plans ( $algebra, $execution_context, %args )

Returns a list of equivalent query plan objects for the given algebra object. ✨

plan_node_name

Returns the string name of this plan node, suitable for use in serialization. πŸ‘‘

plan_prototype

Returns a list of scalar identifiers for the type of the content (children) nodes of this plan node. These identifiers are recognized:

  • 'A' β€” An RDF::Query::Algebra object
  • 'b' β€” A boolean integer value (0 or 1)
  • 'E' β€” An expression (either an RDF::Query::Expression object or an RDF node)
  • 'i' β€” An integer
  • 'J' β€” A valid Project node (an RDF::Query::Expression object or an Variable node)
  • 'N' β€” An RDF node
  • 'P' β€” A RDF::Query::Plan object
  • 'q' β€” A RDF::Query object
  • 'Q' β€” A RDF::Trine::Statement::Quad object
  • 's' β€” A string
  • 'T' β€” An RDF::Trine::Statement object
  • 'u' β€” A valid URI string
  • 'V' β€” A variable binding set (an object of type RDF::Query::VariableBindings)
  • 'w' β€” A bareword string
  • 'W' β€” An RDF node or wildcard ('*')
  • '*X' β€” A list of X nodes (where X is another identifier scalar)
  • '\X' β€” An array reference of X nodes (where X is another identifier scalar)
ok the list-of-X and arrayref-of-X ones? that's the meta level, that's nesting identifiers inside identifiers. fruity behavior honestly and we love that for them 🧚

plan_node_data

Returns the data for this plan node that corresponds to the values described by the signature returned by plan_prototype. πŸ’œ

subplans_of_type ( $type [, $block] )

Returns a list of Plan objects matching $type (tested with isa). If $block is given, then matching stops descending a subtree if the current node is of type $block, continuing matching on other subtrees. This list includes the current plan object if it matches $type, and is generated in infix order. πŸ”₯


πŸ’Œ AUTHOR πŸ’Œ

Gregory Todd Williams <gwilliams@cpan.org>


ok and that's the whole page bestie, no cap. this was perl v5.40.1, dated 2025-08-18, from the RDF::Query::Plan(3pm) page under User Contributed Perl Documentation β€” mwah, go execute a plan, you main character πŸŽ€πŸ’–

πŸ“¦ where this page comes from