---
name: "RDF::Query::Plan::Service"
section: "3pm"
platform: "linux"
package: "librdf-query-perl"
version: "2.919-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::Query::Plan::Service"
---

# RDF::Query::Plan::Service(3pm)

Executable query plan for remote SPARQL queries.

## NAME

RDF::Query::Plan::Service - Executable query plan for remote SPARQL queries.

## VERSION

This document describes RDF::Query::Plan::Service version 2.919.

## METHODS

Beyond the methods documented below, this class inherits methods from the RDF::Query::Plan class.

- "new ( $endpoint, $plan, $silent, $sparql, \[ \\%logging\_keys \] )"

  Returns a new SERVICE (remote endpoint call) query plan object. `"<$endpoint"`\> is the URL of the endpoint (as a node object). `"<$plan"`\> is the query plan representing the query to be sent to the remote endpoint (needed for cost estimates). `"<$sparql"`\> is the serialized SPARQL query to be sent to the remote endpoint. Finally, if present, `"<%logging_keys"`\> is a HASH containing the keys to use in logging the execution of this plan. Valid HASH keys are:

  ```
   * bf - The bound/free string representing C<<$plan>>
  ```

- "new\_from\_plan ( $endpoint, $plan, $context )"

  Returns a new SERVICE query plan object. `"<$endpoint"`\> is the URL of the endpoint (as a string). `"<$plan"`\> is the query plan representing the query to be sent to the remote endpoint. The exact SPARQL serialization that will be used is obtained by getting the originating RDF::Query::Algebra object from `"<$plan"`\>, and serializing it (with the aid of the RDF::Query::ExecutionContext object `"<$context"`\>).

- "execute ( $execution\_context )"

  - "next"

  - "close"

  - "endpoint"

  - "sparql"

  Returns the SPARQL query (as a string) that will be sent to the remote endpoint.

- "lhs"

  - "silent"

  Returns a boolean value indicating whether the service plan will ignore errors.

- "pattern"

  Returns the query plan that will be used in the remote service call.

- "distinct"

  Returns true if the pattern is guaranteed to return distinct results.

- "ordered"

  Returns true if the pattern is guaranteed to return ordered results.

- "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. See RDF::Query::Plan for a list of the allowable identifiers.

- "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 )"

  - "explain"

  Returns a string serialization of the query plan appropriate for display on the command line.

## AUTHOR

```
 Gregory Todd Williams <gwilliams@cpan.org>
```
