Package org.eclipse.rdf4j.query.algebra
Class Service
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
-
- org.eclipse.rdf4j.query.algebra.Service
-
- All Implemented Interfaces:
Serializable
,Cloneable
,GraphPatternGroupable
,QueryModelNode
,TupleExpr
,VariableScopeChange
public class Service extends UnaryTupleOperator
The SERVICE keyword as defined in SERVICE definition. The service expression is evaluated at the specified service URI. If the service reference is a variable, a value for this variable must be available at evaluation time (e.g. from earlier computations).- Author:
- Andreas Schwarte
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
arg
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Service
clone()
Returns a (deep) clone of this query model node.boolean
equals(Object other)
Returns true if this query model node and its children are recursively equal to o and its children.String
getAskQueryString()
Returns an ASK query string using no projection vars.String
getBaseURI()
Map<String,String>
getPrefixDeclarations()
String
getSelectQueryString(Set<String> projectionVars)
Returns a SELECT query string using the provided projection vars.TupleExpr
getServiceExpr()
String
getServiceExpressionString()
Var
getServiceRef()
Set<String>
getServiceVars()
int
hashCode()
boolean
isSilent()
void
replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.void
setBaseURI(String baseURI)
void
setExpressionString(String serviceExpressionString)
The SERVICE expression, either complete or just the expression e.g.void
setPrefixDeclarations(Map<String,String> prefixDeclarations)
void
setServiceRef(Var serviceRef)
<X extends Exception>
voidvisit(QueryModelVisitor<X> visitor)
Visits this node.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor)
Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.UnaryTupleOperator
getArg, getAssuredBindingNames, getBindingNames, setArg
-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Method Detail
-
getServiceRef
public Var getServiceRef()
-
getServiceExpr
public TupleExpr getServiceExpr()
-
setServiceRef
public void setServiceRef(Var serviceRef)
-
isSilent
public boolean isSilent()
- Returns:
- Returns the silent.
-
getPrefixDeclarations
public Map<String,String> getPrefixDeclarations()
- Returns:
- Returns the prefixDeclarations.
-
setPrefixDeclarations
public void setPrefixDeclarations(Map<String,String> prefixDeclarations)
- Parameters:
prefixDeclarations
- The prefixDeclarations to set.
-
setExpressionString
public void setExpressionString(String serviceExpressionString)
The SERVICE expression, either complete or just the expression e.g. "SERVICE{ ... }" becomes " ... " - Parameters:
serviceExpressionString
- the inner expression as SPARQL String representation
-
getServiceExpressionString
public String getServiceExpressionString()
- Returns:
- Returns the serviceExpressionString.
-
getAskQueryString
public String getAskQueryString()
Returns an ASK query string using no projection vars.- Returns:
- an ASK query string
-
getSelectQueryString
public String getSelectQueryString(Set<String> projectionVars)
Returns a SELECT query string using the provided projection vars. The variables are inserted into the preparedSelectQueryString in the SELECT clause.- Parameters:
projectionVars
-- Returns:
- SELECT query string, utilizing the given projection variables
-
visit
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNode
Visits this node. The node reports itself to the visitor with the proper runtime type.- Throws:
X extends Exception
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from class:AbstractQueryModelNode
Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing. Subclasses should override this method when they have child nodes.- Specified by:
visitChildren
in interfaceQueryModelNode
- Overrides:
visitChildren
in classUnaryTupleOperator
- Throws:
X extends Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from class:AbstractQueryModelNode
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Overrides:
replaceChildNode
in classUnaryTupleOperator
- Parameters:
current
- The current child node.replacement
- The new child node.
-
equals
public boolean equals(Object other)
Description copied from interface:QueryModelNode
Returns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equals
in interfaceQueryModelNode
- Overrides:
equals
in classUnaryTupleOperator
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classUnaryTupleOperator
-
clone
public Service clone()
Description copied from interface:QueryModelNode
Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clone
in interfaceQueryModelNode
- Specified by:
clone
in interfaceTupleExpr
- Overrides:
clone
in classUnaryTupleOperator
- Returns:
- A deep clone of this query model node.
-
setBaseURI
public void setBaseURI(String baseURI)
- Parameters:
baseURI
- The baseURI to set.
-
getBaseURI
public String getBaseURI()
- Returns:
- Returns the baseURI.
-
-