Class 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:
  • Constructor Details

  • Method Details

    • 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
    • getServiceVars

      public Set<String> getServiceVars()
      Returns:
      Returns the serviceVars.
    • visit

      public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X
      Description copied from interface: QueryModelNode
      Visits this node. The node reports itself to the visitor with the proper runtime type.
      Throws:
      X
    • visitChildren

      public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X
      Description copied from class: AbstractQueryModelNode
      Dummy implementation of QueryModelNode.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 interface QueryModelNode
      Overrides:
      visitChildren in class UnaryTupleOperator
      Throws:
      X
    • replaceChildNode

      public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
      Description copied from class: AbstractQueryModelNode
      Default implementation of QueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode) that throws an IllegalArgumentException indicating that current is not a child node of this node.
      Specified by:
      replaceChildNode in interface QueryModelNode
      Overrides:
      replaceChildNode in class UnaryTupleOperator
      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 interface QueryModelNode
      Overrides:
      equals in class UnaryTupleOperator
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class UnaryTupleOperator
    • 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 interface QueryModelNode
      Specified by:
      clone in interface TupleExpr
      Overrides:
      clone in class UnaryTupleOperator
      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.