RDF::Q...roject(3pm)

🌸 NAME 🌸

okay bestie, meet RDF::Query::Algebra::Project πŸ’… it's the algebra class for projection β€” yes, that whole "which variables are we even showing you" vibe. it lives in the User Contributed Perl Documentation section, so you know it's giving community-made, hand-crafted, iconic energy 🫢


✨ VERSION ✨

this doc is describing RDF::Query::Algebra::Project version 2.919. write it down, don't be that girl who asks later πŸ™ˆ


πŸŽ€ METHODS πŸŽ€

lowkey important: on top of everything listed below, this class also inherits methods from the RDF::Query::Algebra class. so don't come for me if your fave method isn't here β€” check the parent, iykyk ✨

  • new ( $pattern, \@vars_and_exprs ) β€” makes you a shiny new Project structure. feed it a pattern and an arrayref of vars-and-exprs and boom, you've got one 🌈
  • construct_args β€” gives you back a list of arguments that, if you pass them to this class' constructor, will clone this algebra pattern for you. it's giving copy-paste but make it classy πŸ’–
  • pattern β€” hands you back the pattern to be sorted. yes that's what it says, no i will not elaborate, the source said it first πŸ’€
  • vars β€” returns the vars that we're projecting to. the chosen ones. the main characters πŸ‘‘
  • sse β€” returns the SSE string for this algebra expression, fr fr
  • as_sparql β€” returns the SPARQL string for this algebra expression. so you can actually speak query, periodt πŸ”₯
  • as_hash β€” returns the query as a nested set of plain data structures. no objects allowed, we're going raw πŸ“
  • as_spin ( $model ) β€” adds statements to the given model so it can represent this algebra object in the SPARQL Inferencing Notation (http://www.spinrdf.org/) πŸ¦‹
  • type β€” returns the type of this algebra expression. identity check bestie, who are you really πŸ’…
  • referenced_variables β€” returns a list of the variable names used in this algebra expression
  • bind_variables ( \%bound ) β€” returns a new algebra pattern where the variables named in %bound got swapped out for their corresponding bound values. glow-up via substitution ✨
  • potentially_bound β€” returns a list of the variable names used in this algebra expression that will bind values during execution. maybe. potentially. it's the "we'll see" of variable lists 😭
  • definite_variables β€” returns a list of the variable names that are 100% gonna be bound after this algebra expression gets evaluated. no cap, these ones are locked in πŸ”₯
  • is_solution_modifier β€” returns true if this node is a solution modifier. vibe check on the node itself 🌈

πŸ‘‘ AUTHOR πŸ‘‘

this absolute legend wrote it:

Gregory Todd Williams <gwilliams@cpan.org>

give them their flowers, they earned them πŸ’


and that's the whole page bestie 🫢 this was perl v5.40.1, dated 2025-08-18 β€” so yes, fresh-ish, and it's literally titled RDF::Q...roject(3pm) on the tin because manpage headers love to truncate mid-word like that πŸ’€ the way that header just gave up on spelling Project... anyway. go project some variables. slay πŸ’…βœ¨

πŸ“¦ where this page comes from