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

✨ NAME ✨

RDF::Query::Plan::Service β€” it's the executable query plan for remote SPARQL queries, bestie πŸ’– like literally the thing that handles SERVICE calls to a far-away endpoint.


🌸 VERSION 🌸

This doc is describing RDF::Query::Plan::Service version 2.919. periodt.


πŸ’… METHODS πŸ’…

okay so first things first: on top of everything listed down here, this class also inherits methods from the RDF::Query::Plan class. so it's giving nepo baby but in a good way 🫢


  • new ( $endpoint, $plan, $silent, $sparql, [ \%logging_keys ] ) β€” hands you back a shiny new SERVICE (remote endpoint call) query plan object ✨. <$endpoint> is the URL of the endpoint (as a node object), no cap. <$plan> is the query plan that represents the query getting yeeted to the remote endpoint (you need it for cost estimates, iykyk). <$sparql> is the serialized SPARQL query that's actually getting sent over to the remote endpoint. and last but not least, if it's there, <%logging_keys> is a HASH holding the keys to use when logging the execution of this plan. the valid HASH keys are:
    • bf β€” the bound/free string representing $plan πŸ‘‘

  • new_from_plan ( $endpoint, $plan, $context ) β€” returns a new SERVICE query plan object, slay. <$endpoint> is the URL of the endpoint (as a string this time, not a node). <$plan> is the query plan representing the query to send to the remote endpoint. and the exact SPARQL serialization that'll get used? you get it by grabbing the originating RDF::Query::Algebra object from <$plan> and serializing it (with a lil assist from the RDF::Query::ExecutionContext object <$context>) πŸŽ€

  • execute ( $execution_context ) β€” does the thing πŸƒβ™€οΈ
  • next β€” next bestie, next
  • close β€” wrap it up πŸ’€
  • endpoint β€” the endpoint, obviously
  • sparql β€” returns the SPARQL query (as a string) that's gonna get sent to the remote endpoint. this is the one, fr fr

  • lhs β€” left hand side behavior, iconic
  • silent β€” returns a boolean value telling you whether the service plan will ignore errors 🫣 (yes queen, silently ignore them)

  • pattern β€” returns the query plan that'll be used in the remote service call

  • distinct β€” returns true if the pattern is guaranteed to return distinct results, i.e. no duplicates allowed, main character energy only ✨

  • ordered β€” returns true if the pattern is guaranteed to return ordered results. sorted, literally

  • 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. wanna know the allowable identifiers? peek at RDF::Query::Plan, it's all in there

  • plan_node_data β€” returns the data for this plan node that corresponds to the values described by the signature returned by plan_prototype πŸ’–

  • graph ( $g ) β€” graph time 🌈
  • explain β€” returns a string serialization of the query plan, appropriate for display on the command line. it's the explain era, we love her

πŸ‘‘ AUTHOR πŸ‘‘

Gregory Todd Williams <gwilliams@cpan.org> β€” the icon, the moment, the legend 🫢


and that's a wrap, bestie πŸ’œ this whole thing is perl v5.40.1, dated 2025-08-18. go forth and SERVICE those remote SPARQL queries, no cap πŸ¦‹β­
πŸ“¦ where this page comes from