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
AServiceQuery
with aPlanNode
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 forPlanNodeBodyServiceQuery
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
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description com.complexible.stardog.plan.PlanNode
body()
boolean
equals(java.lang.Object obj)
java.lang.String
explain(com.complexible.stardog.plan.PlanVarInfo theVarInfo, com.complexible.stardog.plan.util.QueryTermRenderer renderer)
Returns an explain string for the service invocationjava.lang.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 formatcom.google.common.collect.ImmutableSet<java.lang.Integer>
getAllVars()
com.google.common.collect.ImmutableSet<java.lang.Integer>
getAssuredVars()
What are the vars guaranteed to be bound by this query?com.google.common.collect.ImmutableSet<java.lang.Integer>
getContextVars()
com.google.common.collect.ImmutableSet<java.lang.Integer>
getObjectVars()
com.google.common.collect.ImmutableSet<java.lang.Integer>
getPredicateVars()
com.google.common.collect.ImmutableSet<java.lang.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 nodecom.complexible.stardog.plan.PlanNode
replaceBodyTerms(com.complexible.stardog.plan.util.PlanNodeVarReplacer termReplacer, com.complexible.stardog.plan.ServicePlanNode node, java.util.Set<java.lang.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 replacedabstract 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
-
-
-
-
Constructor Detail
-
PlanNodeBodyServiceQuery
public PlanNodeBodyServiceQuery(IRI theServiceIri, com.complexible.stardog.plan.PlanNode body)
-
-
Method Detail
-
getSubjectVars
public com.google.common.collect.ImmutableSet<java.lang.Integer> getSubjectVars()
- Overrides:
getSubjectVars
in classServiceQuery
-
getPredicateVars
public com.google.common.collect.ImmutableSet<java.lang.Integer> getPredicateVars()
- Overrides:
getPredicateVars
in classServiceQuery
-
getObjectVars
public com.google.common.collect.ImmutableSet<java.lang.Integer> getObjectVars()
- Overrides:
getObjectVars
in classServiceQuery
-
getContextVars
public com.google.common.collect.ImmutableSet<java.lang.Integer> getContextVars()
- Overrides:
getContextVars
in classServiceQuery
-
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 com.complexible.stardog.plan.PlanNode replaceBodyTerms(com.complexible.stardog.plan.util.PlanNodeVarReplacer termReplacer, com.complexible.stardog.plan.ServicePlanNode node, java.util.Set<java.lang.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<java.lang.Integer> getAssuredVars()
Description copied from class:ServiceQuery
What are the vars guaranteed to be bound by this query?- Specified by:
getAssuredVars
in classServiceQuery
-
getAllVars
public com.google.common.collect.ImmutableSet<java.lang.Integer> getAllVars()
- Specified by:
getAllVars
in classServiceQuery
-
explain
public java.lang.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 classServiceQuery
- Returns:
- an explain string for the service invocation or
null
if there is no custom explanation
-
explainVerbose
public java.lang.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 classServiceQuery
- Returns:
- an explain string in verbose format
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classServiceQuery
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in classServiceQuery
-
toBuilder
public abstract PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder toBuilder()
- Overrides:
toBuilder
in classServiceQuery
-
noopBuilder
public static PlanNodeBodyServiceQuery.PlanNodeBodyServiceQueryBuilder noopBuilder(PlanNodeBodyServiceQuery query)
-
getTermPositionPredicate
public com.complexible.stardog.plan.cache.TermPositionPredicate getTermPositionPredicate()
-
-