Class LateralIterator
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet>
org.eclipse.rdf4j.query.algebra.evaluation.iterator.LateralIterator
- All Implemented Interfaces:
AutoCloseable, Iterator<BindingSet>, CloseableIteration<BindingSet>
Lateral join iterator.
This iterator produces results by evaluating the right-hand side for each solution mapping from the left-hand side. Note that this is similar to a join but without any join condition.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface CloseableIteration
EMPTY_STATEMENT_ITERATION -
Constructor Summary
ConstructorsConstructorDescriptionLateralIterator(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings, Set<String> rightInputBindingNames) -
Method Summary
Modifier and TypeMethodDescriptionstatic CloseableIteration<BindingSet> getInstance(CloseableIteration<BindingSet> leftIter, LateralIterator.RightEvaluator rightEvaluator) static CloseableIteration<BindingSet> getInstance(CloseableIteration<BindingSet> leftIter, QueryEvaluationStep preparedRight, Set<String> rightInputBindingNames) static CloseableIteration<BindingSet> getInstance(CloseableIteration<BindingSet> leftIter, QueryEvaluationStep preparedRight, Set<String> rightInputBindingNames, BindingSet originalBindings) static CloseableIteration<BindingSet> getInstance(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings, Set<String> rightInputBindingNames) protected BindingSetGets the next element.protected voidCalled byAbstractCloseableIteration.close()when it is called for the first time.Methods inherited from class LookAheadIteration
hasNext, next, removeMethods inherited from class AbstractCloseableIteration
close, isClosedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CloseableIteration
streamMethods inherited from interface Iterator
forEachRemaining
-
Constructor Details
-
LateralIterator
public LateralIterator(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings, Set<String> rightInputBindingNames) throws QueryEvaluationException - Throws:
QueryEvaluationException
-
-
Method Details
-
getInstance
public static CloseableIteration<BindingSet> getInstance(QueryEvaluationStep leftPrepared, QueryEvaluationStep preparedRight, BindingSet bindings, Set<String> rightInputBindingNames) -
getInstance
public static CloseableIteration<BindingSet> getInstance(CloseableIteration<BindingSet> leftIter, QueryEvaluationStep preparedRight, Set<String> rightInputBindingNames) -
getInstance
public static CloseableIteration<BindingSet> getInstance(CloseableIteration<BindingSet> leftIter, QueryEvaluationStep preparedRight, Set<String> rightInputBindingNames, BindingSet originalBindings) -
getInstance
public static CloseableIteration<BindingSet> getInstance(CloseableIteration<BindingSet> leftIter, LateralIterator.RightEvaluator rightEvaluator) -
getNextElement
Description copied from class:LookAheadIterationGets the next element. Subclasses should implement this method so that it returns the next element.- Specified by:
getNextElementin classLookAheadIteration<BindingSet>- Returns:
- The next element, or null if no more elements are available.
- Throws:
QueryEvaluationException
-
handleClose
Description copied from class:AbstractCloseableIterationCalled byAbstractCloseableIteration.close()when it is called for the first time. This method is only called once on each iteration. By default, this method does nothing.- Specified by:
handleClosein classAbstractCloseableIteration<BindingSet>- Throws:
QueryEvaluationException
-