org.openrdf.query.algebra
Class Service

java.lang.Object
  extended by org.openrdf.query.algebra.QueryModelNodeBase
      extended by org.openrdf.query.algebra.UnaryTupleOperator
          extended by org.openrdf.query.algebra.Service
All Implemented Interfaces:
Cloneable, QueryModelNode, TupleExpr

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

Field Summary
 
Fields inherited from class org.openrdf.query.algebra.UnaryTupleOperator
arg
 
Constructor Summary
Service(Var serviceRef, TupleExpr serviceExpr, String serviceExpressionString, Map<String,String> prefixDeclarations, String baseURI, boolean silent)
           
 
Method Summary
 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 getBaseURI()
           
 Map<String,String> getPrefixDeclarations()
           
 String getQueryString(Set<String> projectionVars)
          Returns the 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 of QueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode) that throws an IllegalArgumentException 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>
void
visit(QueryModelVisitor<X> visitor)
          Visits this node.
<X extends Exception>
void
visitChildren(QueryModelVisitor<X> visitor)
          Dummy implementation of QueryModelNode.visitChildren(org.openrdf.query.algebra.QueryModelVisitor) that does nothing.
 
Methods inherited from class org.openrdf.query.algebra.UnaryTupleOperator
getArg, getAssuredBindingNames, getBindingNames, setArg
 
Methods inherited from class org.openrdf.query.algebra.QueryModelNodeBase
getParentNode, getSignature, nullEquals, replaceNodeInList, replaceWith, setParentNode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, getSignature, replaceWith, setParentNode, toString
 

Constructor Detail

Service

public Service(Var serviceRef,
               TupleExpr serviceExpr,
               String serviceExpressionString,
               Map<String,String> prefixDeclarations,
               String baseURI,
               boolean silent)
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.

getQueryString

public String getQueryString(Set<String> projectionVars)
Returns the query string using the provided projection vars. Two cases are considered: a) projectionVars available => SELECT query The variables are inserted into the preparedSelectQueryString in the SELECT clause. b) projectionVars empty => ASK query return preparedAskQueryString

Parameters:
projectionVars -
Returns:

getServiceVars

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

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: QueryModelNodeBase
Dummy implementation of QueryModelNode.visitChildren(org.openrdf.query.algebra.QueryModelVisitor) 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 extends Exception

replaceChildNode

public void replaceChildNode(QueryModelNode current,
                             QueryModelNode replacement)
Description copied from class: QueryModelNodeBase
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.


Copyright © 2001-2012 Aduna. All Rights Reserved.