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

πŸ’– NAME πŸ’–

RDF::Query::Algebra β€” bestie, this is the base class for Algebra expressions. The blueprint. The blueprint-est. πŸ‘‘

This one lives in the User Contributed Perl Documentation section, so it's giving 3pm energy, and its whole government name is RDF::Query::Algebra. πŸŽ€


✨ VERSION ✨

Okay so this doc is describing RDF::Query::Algebra version 2.919. Write it down, periodt. πŸ“


🌸 METHODS 🌸

  • potentially_bound β€” hands you a list of the variable names used in this algebra expression that are gonna bind values while it's executing. The "might actually show up with receipts" list. πŸ’…
  • referenced_blanks β€” gives you a list of the blank node names used in this algebra expression. The unnamed besties. πŸ¦‹
  • referenced_functions β€” gives you a list of the Function URIs used in this algebra expression. πŸ”₯
  • check_duplicate_blanks β€” returns true if the blank nodes are respecting the SPARQL rule of no blank-label re-use across BGPs. And if they aren't? It throws an RDF::Query::Error::QueryPatternError exception. Not a vibe check that you pass, bestie β€” it's a vibe check that throws. 😭
Heads up: breaking that SPARQL blank-label rule does not get a warning. It gets an exception. Rules are rules. πŸ’€
  • qualify_uris ( \%namespaces, $base_uri ) β€” returns a brand new algebra pattern where all the referenced Resource nodes that represent QNames (ns:local) have been qualified using the %namespaces you passed in. Glow-up complete. ✨
  • bind_variables ( \%bound ) β€” returns a new algebra pattern where the variables named in %bound get swapped out for their corresponding bound values. It's a makeover, not a mutation. πŸ’„
  • is_solution_modifier β€” returns true if this node is a solution modifier. Simple. Iconic. No notes. πŸ‘‘
  • subpatterns_of_type ( $type [, $block] ) β€” returns a list of Algebra patterns matching $type, tested with isa. If you hand it a $block, then the matching stops descending down a subtree whenever the current node is of type $block, and it just keeps matching on the other subtrees instead. And yes: this list includes the current algebra object itself if it matches $type, and it's generated in infix order. 🧚
  • from_sse ( $sse, \%context ) β€” give it an SSE serialization, and it hands you back the corresponding algebra expression. Glow-up in reverse β€” serialized to algebra. 🌈

πŸŽ€ FUNCTIONS πŸŽ€

  • triple ( $subj, $pred, $obj ) β€” returns an RDF::Query::Algebra::Triple object built from the node objects you supply. Three little ingredients, one slay. πŸ“
  • bgp ( @triples ) β€” returns an RDF::Query::Algebra::BasicGraphPattern object with all those triples you gave it. 🫢
  • ggp ( @patterns ) β€” returns an RDF::Query::Algebra::GroupGraphPattern object with the algebra patterns you supplied. The group chat of algebra. πŸ’œ

🌟 AUTHOR 🌟

The one and only Gregory Todd Williams <gwilliams@cpan.org>. Genius behavior, fr fr. πŸ’–


And that's the whole page, bestie β€” brought to you by perl v5.40.1, dated 2025-08-18. Obsessed with her honestly. Byeee πŸ‘‹βœ¨

πŸ“¦ where this page comes from