Class QueryIterDistinctConditional
java.lang.Object
org.apache.jena.sparql.util.PrintSerializableBase
org.apache.jena.sparql.engine.iterator.QueryIteratorBase
org.apache.jena.sparql.engine.iterator.QueryIter
org.apache.jena.sparql.engine.iterator.QueryIter1
org.aksw.jena_sparql_api.sparql.ext.distinct.QueryIterDistinctConditional
- All Implemented Interfaces:
Iterator<org.apache.jena.sparql.engine.binding.Binding>,org.apache.jena.atlas.io.Printable,org.apache.jena.atlas.iterator.IteratorCloseable<org.apache.jena.sparql.engine.binding.Binding>,org.apache.jena.atlas.lib.Closeable,org.apache.jena.sparql.engine.QueryIterator,org.apache.jena.sparql.util.PrintSerializable
public class QueryIterDistinctConditional
extends org.apache.jena.sparql.engine.iterator.QueryIter1
A variant of QueryIterDistinct where a list of conditions can be specified when to apply distinct.
If a binding does not satisfy any condition is returned (streaming) without causing resource overhead
of tracking it.
Every condition has its own set of seen bindings. As soon as one condition evaluates to true, the
binding is added to that condition's bucket. Further conditions are then not evaluated further
(short circuit evaluation).
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionQueryIterDistinctConditional(org.apache.jena.sparql.engine.QueryIterator qIter, List<org.apache.jena.query.SortCondition> preserveOrder, org.apache.jena.sparql.engine.ExecutionContext execCxt, Collection<org.apache.jena.sparql.expr.ExprList> conditions) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidgetBucket(org.apache.jena.sparql.engine.binding.Binding b) protected booleanprotected org.apache.jena.sparql.engine.binding.Bindingprotected voidMethods inherited from class org.apache.jena.sparql.engine.iterator.QueryIter1
closeIterator, details, getInput, output, requestCancelMethods inherited from class org.apache.jena.sparql.engine.iterator.QueryIter
close, flatMap, getExecContext, getIteratorNumber, makeTracked, map, materialize, materialize, outputMethods inherited from class org.apache.jena.sparql.engine.iterator.QueryIteratorBase
cancel, hasNext, isFinished, next, nextBinding, performClose, performRequestCancel, removeMethods inherited from class org.apache.jena.sparql.util.PrintSerializableBase
toString, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemainingMethods inherited from interface org.apache.jena.sparql.util.PrintSerializable
toStringMethods inherited from interface org.apache.jena.sparql.engine.QueryIterator
isJoinIdentity
-
Constructor Details
-
QueryIterDistinctConditional
public QueryIterDistinctConditional(org.apache.jena.sparql.engine.QueryIterator qIter, List<org.apache.jena.query.SortCondition> preserveOrder, org.apache.jena.sparql.engine.ExecutionContext execCxt, Collection<org.apache.jena.sparql.expr.ExprList> conditions)
-
-
Method Details
-
getBucket
public QueryIterDistinctConditional.Bucket getBucket(org.apache.jena.sparql.engine.binding.Binding b) -
hasNextBinding
protected boolean hasNextBinding()- Specified by:
hasNextBindingin classorg.apache.jena.sparql.engine.iterator.QueryIteratorBase
-
moveToNextBinding
protected org.apache.jena.sparql.engine.binding.Binding moveToNextBinding()- Specified by:
moveToNextBindingin classorg.apache.jena.sparql.engine.iterator.QueryIteratorBase
-
closeSubIterator
protected void closeSubIterator()- Specified by:
closeSubIteratorin classorg.apache.jena.sparql.engine.iterator.QueryIter1
-
requestSubCancel
protected void requestSubCancel()- Specified by:
requestSubCancelin classorg.apache.jena.sparql.engine.iterator.QueryIter1
-