Package com.complexible.stardog.plan.eval.service

# Class PlanNodeBodyServiceQuery

java.lang.Object
com.complexible.stardog.plan.eval.service.ServiceQuery
com.complexible.stardog.plan.eval.service.PlanNodeBodyServiceQuery

Direct Known Subclasses:
  `LogicalServiceQuery`, `PlanNodeBodyServiceQuery.CanonicalizedPlanNodeBodyServiceQuery`

public abstract class PlanNodeBodyServiceQuery extends ServiceQuery
A `ServiceQuery` with a `PlanNode` as the body.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static class`
  `PlanNodeBodyServiceQuery.CanonicalizedPlanNodeBodyServiceQuery`
  This machinery allows subclasses to return a "canonicalized" version of the query to be used in plan caching.
  `static class`
  `PlanNodeBodyServiceQuery.CanonicalizedPlanNodeBodyServiceQueryBuilder`
  `static class`
  `PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder`
  Base builder for `PlanNodeBodyServiceQuery` objects

  ## Nested classes/interfaces inherited from class com.complexible.stardog.plan.eval.service.ServiceQuery

  `ServiceQuery.DistinctValuesEstimationFunction, ServiceQuery.ServiceQueryBuilder`

- ## Field Summary

  ### Fields inherited from class com.complexible.stardog.plan.eval.service.ServiceQuery

  `DEFAULT_CARDINALITY, mCardinality, mOptions`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PlanNodeBodyServiceQuery(IRI theServiceIri, com.complexible.stardog.plan.PlanNode body)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `com.complexible.stardog.plan.PlanNode`
  `body()`
  `boolean`
  `equals(Object obj)`
  `String`
  `explain(com.complexible.stardog.plan.PlanVarInfo theVarInfo, com.complexible.stardog.plan.util.QueryTermRenderer renderer)`
  Returns an explain string for the service invocation
  `String`
  `explainVerbose(com.complexible.stardog.plan.PlanVarInfo theVarInfo, com.complexible.stardog.plan.util.QueryTermRenderer renderer)`
  Returns an explain string for the service invocation in a parsable verbose format
  `com.google.common.collect.ImmutableSet<Integer>`
  `getAllVars()`
  `com.google.common.collect.ImmutableSet<Integer>`
  `getAssuredVars()`
  What are the vars guaranteed to be bound by this query?
  `com.google.common.collect.ImmutableSet<Integer>`
  `getContextVars()`
  `com.google.common.collect.ImmutableSet<Integer>`
  `getObjectVars()`
  `com.google.common.collect.ImmutableSet<Integer>`
  `getPredicateVars()`
  `com.google.common.collect.ImmutableSet<Integer>`
  `getSubjectVars()`
  `com.complexible.stardog.plan.cache.TermPositionPredicate`
  `getTermPositionPredicate()`
  `int`
  `hashCode()`
  `static PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder`
  `noopBuilder(PlanNodeBodyServiceQuery query)`
  `PlanNodeBodyServiceQuery`
  `replaceBody(com.complexible.stardog.plan.PlanNode newBody)`
  `com.complexible.stardog.plan.PlanNode`
  `replaceBodyTerms(com.complexible.stardog.plan.util.PlanNodeVarReplacer termReplacer, com.complexible.stardog.plan.ServicePlanNode node)`
  The default implementation of query term replacement in a service body represented as a plan node
  `final com.complexible.stardog.plan.PlanNode`
  `replaceBodyTerms(com.complexible.stardog.plan.util.PlanNodeVarReplacer termReplacer, com.complexible.stardog.plan.ServicePlanNode node, Set<Integer> nonReplaceableVars)`
  The implementation of query term replacement in a service body represented as a plan node with a set of variables which cannot be replaced
  `abstract PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder`
  `toBuilder()`

  ### Methods inherited from class com.complexible.stardog.plan.eval.service.ServiceQuery

  `alternativeDistinctValues, canServiceJoin, distinctValues, estimateCardinality, estimateJoinCardinality, evaluate, evaluate, evaluateSilent, evaluateSilent, generatesValues, get, getCardinality, getNamespaces, getOptions, getRequiredInputBindings, getRequiredUnboundOutputs, getUnsatisfiableConstraintsMessage, hasDuplicates, isBodySparqlQuery, isClosed, preservesJoinArgumentOrdering, serviceTerm, setCardinality, setNamespaces, supportsJoinArgument`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PlanNodeBodyServiceQuery

    public PlanNodeBodyServiceQuery(IRI theServiceIri, com.complexible.stardog.plan.PlanNode body)

- ## Method Details

  - ### getSubjectVars

    public com.google.common.collect.ImmutableSet<Integer> getSubjectVars()
    Overrides:
      `getSubjectVars` in class `ServiceQuery`

  - ### getPredicateVars

    public com.google.common.collect.ImmutableSet<Integer> getPredicateVars()
    Overrides:
      `getPredicateVars` in class `ServiceQuery`

  - ### getObjectVars

    public com.google.common.collect.ImmutableSet<Integer> getObjectVars()
    Overrides:
      `getObjectVars` in class `ServiceQuery`

  - ### getContextVars

    public com.google.common.collect.ImmutableSet<Integer> getContextVars()
    Overrides:
      `getContextVars` in class `ServiceQuery`

  - ### body

    public com.complexible.stardog.plan.PlanNode body()

  - ### replaceBody

    public PlanNodeBodyServiceQuery replaceBody(com.complexible.stardog.plan.PlanNode newBody)

  - ### replaceBodyTerms

    public com.complexible.stardog.plan.PlanNode replaceBodyTerms(com.complexible.stardog.plan.util.PlanNodeVarReplacer termReplacer, com.complexible.stardog.plan.ServicePlanNode node)
    The default implementation of query term replacement in a service body represented as a plan node

  - ### replaceBodyTerms

    public final com.complexible.stardog.plan.PlanNode replaceBodyTerms(com.complexible.stardog.plan.util.PlanNodeVarReplacer termReplacer, com.complexible.stardog.plan.ServicePlanNode node, Set<Integer> nonReplaceableVars)
    The implementation of query term replacement in a service body represented as a plan node with a set of variables which cannot be replaced

  - ### getAssuredVars

    public com.google.common.collect.ImmutableSet<Integer> getAssuredVars()
    Description copied from class: `ServiceQuery`
    What are the vars guaranteed to be bound by this query?
    Specified by:
      `getAssuredVars` in class `ServiceQuery`

  - ### getAllVars

    public com.google.common.collect.ImmutableSet<Integer> getAllVars()
    Specified by:
      `getAllVars` in class `ServiceQuery`

  - ### explain

    public String explain(com.complexible.stardog.plan.PlanVarInfo theVarInfo, com.complexible.stardog.plan.util.QueryTermRenderer renderer)
    Description copied from class: `ServiceQuery`
    Returns an explain string for the service invocation
    Specified by:
      `explain` in class `ServiceQuery`
    Returns:
      an explain string for the service invocation or `null` if there is no custom explanation

  - ### explainVerbose

    public String explainVerbose(com.complexible.stardog.plan.PlanVarInfo theVarInfo, com.complexible.stardog.plan.util.QueryTermRenderer renderer)
    Description copied from class: `ServiceQuery`
    Returns an explain string for the service invocation in a parsable verbose format
    Specified by:
      `explainVerbose` in class `ServiceQuery`
    Returns:
      an explain string in verbose format

  - ### hashCode

    public int hashCode()
    Specified by:
      `hashCode` in class `ServiceQuery`

  - ### equals

    public boolean equals(Object obj)
    Specified by:
      `equals` in class `ServiceQuery`

  - ### toBuilder

    public abstract PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder toBuilder()
    Overrides:
      `toBuilder` in class `ServiceQuery`

  - ### noopBuilder

    public static PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder noopBuilder(PlanNodeBodyServiceQuery query)

  - ### getTermPositionPredicate

    public com.complexible.stardog.plan.cache.TermPositionPredicate getTermPositionPredicate()