Package org.eclipse.rdf4j.query.algebra
Class StatementPattern
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.StatementPattern
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,GraphPatternGroupable,QueryModelNode,TupleExpr,VariableScopeChange
public class StatementPattern extends AbstractQueryModelNode 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.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStatementPattern.ScopeIndicates the scope of the statement pattern.private static classStatementPattern.SmallStringSet
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.String>assuredBindingNamesstatic doubleCARDINALITY_NOT_SETDeprecated.private VarcontextVarprivate VarobjectVarprivate VarpredicateVarprivate StatementPattern.Scopescopeprivate VarsubjectVarprivate java.util.List<Var>varList
-
Constructor Summary
Constructors Constructor Description StatementPattern()Deprecated, for removal: This API element is subject to removal in a future version.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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description StatementPatternclone()Returns a (deep) clone of this query model node.booleanequals(java.lang.Object other)Returns true if this query model node and its children are recursively equal to o and its children.java.util.Set<java.lang.String>getAssuredBindingNames()Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.java.util.Set<java.lang.String>getBindingNames()Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.private java.util.Set<java.lang.String>getBindingsInternal()VargetContextVar()Returns the context variable, if available.VargetObjectVar()VargetPredicateVar()StatementPattern.ScopegetScope()Gets the context scope for the statement pattern.java.lang.StringgetSignature()Default implementation ofQueryModelNode.getSignature()that prints the name of the node's class.private intgetSize()VargetSubjectVar()java.util.List<Var>getVarList()private java.util.List<Var>getVarListInternal()<L extends java.util.Collection<Var>>
LgetVars(L varCollection)Adds the variables of this statement pattern to the supplied collection.inthashCode()voidreplaceChildNode(QueryModelNode current, QueryModelNode replacement)Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.voidsetContextVar(Var context)Deprecated, for removal: This API element is subject to removal in a future version.voidsetObjectVar(Var object)Deprecated, for removal: This API element is subject to removal in a future version.voidsetPredicateVar(Var predicate)Deprecated, for removal: This API element is subject to removal in a future version.voidsetScope(StatementPattern.Scope scope)Deprecated, for removal: This API element is subject to removal in a future version.voidsetSubjectVar(Var subject)Deprecated, for removal: This API element is subject to removal in a future version.protected booleanshouldCacheCardinality()<X extends java.lang.Exception>
voidvisit(QueryModelVisitor<X> visitor)Visits this node.<X extends java.lang.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.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isCardinalitySet, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toHumanReadbleNumber, 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, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Field Detail
-
CARDINALITY_NOT_SET
@Deprecated public static final double CARDINALITY_NOT_SET
Deprecated.- See Also:
- Constant Field Values
-
scope
private StatementPattern.Scope scope
-
subjectVar
private Var subjectVar
-
predicateVar
private Var predicateVar
-
objectVar
private Var objectVar
-
contextVar
private Var contextVar
-
assuredBindingNames
private java.util.Set<java.lang.String> assuredBindingNames
-
varList
private java.util.List<Var> varList
-
-
Constructor Detail
-
StatementPattern
@Deprecated(since="4.0.0", forRemoval=true) public StatementPattern()Deprecated, for removal: This API element is subject to removal in a future version.
-
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
@Deprecated(since="4.0.0", forRemoval=true) public void setScope(StatementPattern.Scope scope)Deprecated, for removal: This API element is subject to removal in a future version.Sets the context scope for the statement pattern.
-
getSubjectVar
public Var getSubjectVar()
-
setSubjectVar
@Deprecated(since="4.0.0", forRemoval=true) public void setSubjectVar(Var subject)Deprecated, for removal: This API element is subject to removal in a future version.
-
getPredicateVar
public Var getPredicateVar()
-
setPredicateVar
@Deprecated(since="4.0.0", forRemoval=true) public void setPredicateVar(Var predicate)Deprecated, for removal: This API element is subject to removal in a future version.
-
getObjectVar
public Var getObjectVar()
-
setObjectVar
@Deprecated(since="4.0.0", forRemoval=true) public void setObjectVar(Var object)Deprecated, for removal: This API element is subject to removal in a future version.
-
getContextVar
public Var getContextVar()
Returns the context variable, if available.
-
setContextVar
@Deprecated(since="4.0.0", forRemoval=true) public void setContextVar(Var context)Deprecated, for removal: This API element is subject to removal in a future version.
-
getBindingNames
public java.util.Set<java.lang.String> getBindingNames()
Description copied from interface:TupleExprGets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.- Specified by:
getBindingNamesin interfaceTupleExpr- Returns:
- A set of binding names.
-
getAssuredBindingNames
public java.util.Set<java.lang.String> getAssuredBindingNames()
Description copied from interface:TupleExprGets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.- Specified by:
getAssuredBindingNamesin interfaceTupleExpr- Returns:
- A set of binding names.
-
getBindingsInternal
private java.util.Set<java.lang.String> getBindingsInternal()
-
getVarList
public java.util.List<Var> getVarList()
-
getVarListInternal
private java.util.List<Var> getVarListInternal()
-
getSize
private int getSize()
-
getVars
public <L extends java.util.Collection<Var>> L getVars(L varCollection)
Adds the variables of this statement pattern to the supplied collection.
-
visit
public <X extends java.lang.Exception> void visit(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from interface:QueryModelNodeVisits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visitin interfaceQueryModelNode- Throws:
X extends java.lang.Exception
-
visitChildren
public <X extends java.lang.Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends java.lang.Exception
Description copied from class:AbstractQueryModelNodeDummy 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:
visitChildrenin interfaceQueryModelNode- Overrides:
visitChildrenin classAbstractQueryModelNode- Throws:
X extends java.lang.Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from class:AbstractQueryModelNodeDefault implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)that throws anIllegalArgumentExceptionindicating that current is not a child node of this node.- Specified by:
replaceChildNodein interfaceQueryModelNode- Overrides:
replaceChildNodein classAbstractQueryModelNode- Parameters:
current- The current child node.replacement- The new child node.
-
getSignature
public java.lang.String getSignature()
Description copied from class:AbstractQueryModelNodeDefault implementation ofQueryModelNode.getSignature()that prints the name of the node's class.- Specified by:
getSignaturein interfaceQueryModelNode- Overrides:
getSignaturein classAbstractQueryModelNode- Returns:
- The node's signature, e.g. SLICE (offset=10, limit=10).
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:QueryModelNodeReturns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equalsin interfaceQueryModelNode- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
clone
public StatementPattern clone()
Description copied from interface:QueryModelNodeReturns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clonein interfaceQueryModelNode- Specified by:
clonein interfaceTupleExpr- Overrides:
clonein classAbstractQueryModelNode- Returns:
- A deep clone of this query model node.
-
shouldCacheCardinality
protected boolean shouldCacheCardinality()
- Overrides:
shouldCacheCardinalityin classAbstractQueryModelNode
-
-