Class SPARQLCrossProductIteration
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<BindingSet,QueryEvaluationException>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet,QueryEvaluationException>
org.eclipse.rdf4j.repository.sparql.federation.SPARQLCrossProductIteration
- All Implemented Interfaces:
AutoCloseable
,CloseableIteration<BindingSet,
,QueryEvaluationException> Iteration<BindingSet,
QueryEvaluationException>
public class SPARQLCrossProductIteration
extends LookAheadIteration<BindingSet,QueryEvaluationException>
Iteration which forms the cross product of a list of materialized input bindings with each result obtained from the
inner iteration. Example:
Note that this class is a fully equivalent copy of
CrossProductIteration
, and is only included here to avoid
a circular dependency between the algebra-evaluation module and the sparql-repository module.- Author:
- Andreas Schwarte
-
Field Summary
Modifier and TypeFieldDescriptionprotected BindingSet
protected final List
<BindingSet> protected Iterator
<BindingSet> protected final CloseableIteration
<BindingSet, QueryEvaluationException> -
Constructor Summary
ConstructorDescriptionSPARQLCrossProductIteration
(CloseableIteration<BindingSet, QueryEvaluationException> resultIteration, List<BindingSet> inputBindings) -
Method Summary
Modifier and TypeMethodDescriptionprotected BindingSet
Gets the next element.protected void
Called byAbstractCloseableIteration.close()
when it is called for the first time.Methods inherited from class org.eclipse.rdf4j.common.iteration.LookAheadIteration
hasNext, next, remove
Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration
stream
-
Field Details
-
inputBindings
-
resultIteration
-
inputBindingsIterator
-
currentInputBinding
-
-
Constructor Details
-
SPARQLCrossProductIteration
public SPARQLCrossProductIteration(CloseableIteration<BindingSet, QueryEvaluationException> resultIteration, List<BindingSet> inputBindings)
-
-
Method Details
-
getNextElement
Description copied from class:LookAheadIteration
Gets the next element. Subclasses should implement this method so that it returns the next element.- Specified by:
getNextElement
in classLookAheadIteration<BindingSet,
QueryEvaluationException> - Returns:
- The next element, or null if no more elements are available.
- Throws:
QueryEvaluationException
-
handleClose
Description copied from class:AbstractCloseableIteration
Called 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.- Overrides:
handleClose
in classLookAheadIteration<BindingSet,
QueryEvaluationException> - Throws:
QueryEvaluationException
-