com.bigdata.rdf.sparql.ast
Interface IJoinNode

All Superinterfaces:
IBindingProducerNode, IQueryNode
All Known Implementing Classes:
GraphPatternGroup, JoinGroupNode, NamedSubqueryInclude, ServiceNode, StatementPatternNode, SubqueryRoot, UnionNode

public interface IJoinNode
extends IBindingProducerNode

A marker interface for any kind of AST Node which joins stuff.

Version:
$Id: IJoinNode.java 5767 2011-12-09 20:36:52Z thompsonbry $
Author:
Bryan Thompson

Nested Class Summary
static interface IJoinNode.Annotations
           
 
Method Summary
 List<FilterNode> getAttachedJoinFilters()
          Return the FILTER(s) associated with this IJoinNode.
 boolean isMinus()
          Return true iff this is a join group representing a SPARQL MINUS operator.
 boolean isOptional()
          Return whether or not this is an join with "optional" semantics.
 void setAttachedJoinFilters(List<FilterNode> filters)
           
 
Methods inherited from interface com.bigdata.rdf.sparql.ast.IQueryNode
toString
 

Method Detail

isOptional

boolean isOptional()
Return whether or not this is an join with "optional" semantics. Optional joins may or may not produce variable bindings, but will not reduce the incoming solutions based on whether or not they bind.


isMinus

boolean isMinus()
Return true iff this is a join group representing a SPARQL MINUS operator.


getAttachedJoinFilters

List<FilterNode> getAttachedJoinFilters()
Return the FILTER(s) associated with this IJoinNode. Such filters will be run with the JOIN for this statement pattern. As such, they MUST NOT rely on materialization of variables which would not have been bound before that JOIN.

Returns:
The attached join filters and never null (it may return an empty list)(.
See Also:
ASTSimpleOptionalOptimizer, ASTAttachJoinFiltersOptimizer

setAttachedJoinFilters

void setAttachedJoinFilters(List<FilterNode> filters)


Copyright © 2006-2012 SYSTAP, LLC. All Rights Reserved.