org.openrdf.query.algebra
Class StatementPattern

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

public class StatementPattern
extends QueryModelNodeBase
implements TupleExpr

A tuple expression that matches a statement pattern against an RDF graph. Statement patterns can be targeted at one of three context scopes: all contexts, null context only, or named contexts only.


Nested Class Summary
static class StatementPattern.Scope
          Indicates the scope of the statement pattern.
 
Constructor Summary
StatementPattern()
           
StatementPattern(StatementPattern.Scope scope, Var subject, Var predicate, Var object)
          Creates a statement pattern that matches a subject-, predicate- and object variable against statements from the specified context scope.
StatementPattern(StatementPattern.Scope scope, Var subjVar, Var predVar, Var objVar, Var conVar)
          Creates a statement pattern that matches a subject-, predicate-, object- and context variable against statements from the specified context scope.
StatementPattern(Var subject, Var predicate, Var object)
          Creates a statement pattern that matches a subject-, predicate- and object variable against statements from all contexts.
StatementPattern(Var subject, Var predicate, Var object, Var context)
          Creates a statement pattern that matches a subject-, predicate-, object- and context variable against statements from all contexts.
 
Method Summary
 StatementPattern clone()
          Returns a (deep) clone of this query model node.
 Set<String> getBindingNames()
          Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.
 Var getContextVar()
          Returns the context variable, if available.
 Var getObjectVar()
           
 Var getPredicateVar()
           
 StatementPattern.Scope getScope()
          Gets the context scope for the statement pattern.
 String getSignature()
          Default implementation of QueryModelNode.getSignature() that prints the name of the node's class.
 Var getSubjectVar()
           
 List<Var> getVarList()
           
<L extends Collection<Var>>
L
getVars(L varCollection)
           
 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 setContextVar(Var context)
           
 void setObjectVar(Var object)
           
 void setPredicateVar(Var predicate)
           
 void setScope(StatementPattern.Scope scope)
          Sets the context scope for the statement pattern.
 void setSubjectVar(Var subject)
           
<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.QueryModelNodeBase
getParentNode, replaceWith, setParentNode, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.query.algebra.QueryModelNode
getParentNode, replaceWith, setParentNode, toString
 

Constructor Detail

StatementPattern

public StatementPattern()

StatementPattern

public StatementPattern(Var subject,
                        Var predicate,
                        Var object)
Creates a statement pattern that matches a subject-, predicate- and object variable against statements from all contexts.


StatementPattern

public StatementPattern(StatementPattern.Scope scope,
                        Var subject,
                        Var predicate,
                        Var object)
Creates a statement pattern that matches a subject-, predicate- and object variable against statements from the specified context scope.


StatementPattern

public StatementPattern(Var subject,
                        Var predicate,
                        Var object,
                        Var context)
Creates a statement pattern that matches a subject-, predicate-, object- and context variable against statements from all contexts.


StatementPattern

public StatementPattern(StatementPattern.Scope scope,
                        Var subjVar,
                        Var predVar,
                        Var objVar,
                        Var conVar)
Creates a statement pattern that matches a subject-, predicate-, object- and context variable against statements from the specified context scope.

Method Detail

getScope

public StatementPattern.Scope getScope()
Gets the context scope for the statement pattern.


setScope

public void setScope(StatementPattern.Scope scope)
Sets the context scope for the statement pattern.


getSubjectVar

public Var getSubjectVar()

setSubjectVar

public void setSubjectVar(Var subject)

getPredicateVar

public Var getPredicateVar()

setPredicateVar

public void setPredicateVar(Var predicate)

getObjectVar

public Var getObjectVar()

setObjectVar

public void setObjectVar(Var object)

getContextVar

public Var getContextVar()
Returns the context variable, if available.

Returns:

setContextVar

public void setContextVar(Var context)

getBindingNames

public Set<String> getBindingNames()
Description copied from interface: TupleExpr
Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.

Specified by:
getBindingNames in interface TupleExpr
Returns:
A set of binding names.

getVarList

public List<Var> getVarList()

getVars

public <L extends Collection<Var>> L getVars(L varCollection)

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.

Specified by:
visit in interface QueryModelNode
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 QueryModelNodeBase
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 QueryModelNodeBase
Parameters:
current - The current child node.
replacement - The new child node.

getSignature

public String getSignature()
Description copied from class: QueryModelNodeBase
Default implementation of QueryModelNode.getSignature() that prints the name of the node's class.

Specified by:
getSignature in interface QueryModelNode
Overrides:
getSignature in class QueryModelNodeBase
Returns:
The node's signature, e.g. SLICE (offset=10, limit=10).

clone

public StatementPattern 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 QueryModelNodeBase
Returns:
A deep clone of this query model node.


Copyright © 2001-2008 Aduna. All Rights Reserved.