public class DistinctTermScanOp<E> extends PipelineOp
IPredicate
,
binding the distinct values for the specified variable(s) from the
IAccessPath
for the IPredicate
. This is done using a
DistinctTermAdvancer
to skip over any duplicate solutions in the
index. Thus the cost of this operator is O(N) where N is the number of
distinct solutions that exist in the index.DistinctTermAdvancer
,
Serialized FormModifier and Type | Class and Description |
---|---|
static interface |
DistinctTermScanOp.Annotations |
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
DistinctTermScanOp(BOp[] args,
Map<String,Object> annotations)
Shallow copy constructor.
|
DistinctTermScanOp(BOp[] args,
NV... annotations) |
DistinctTermScanOp(DistinctTermScanOp<E> op)
Deep copy constructor.
|
Modifier and Type | Method and Description |
---|---|
protected IConstraint[] |
constraints() |
FutureTask<Void> |
eval(BOpContext<IBindingSet> context)
Return a
FutureTask which computes the operator against the
evaluation context. |
protected IVariable<?> |
getDistinctVar() |
IPredicate<E> |
getPredicate() |
protected IVariable<?>[] |
getSelect() |
assertAtOnceJavaHeapOp, assertMaxParallelOne, getChunkCapacity, getChunkOfChunksCapacity, getChunkTimeout, getMaxMemory, getMaxParallel, isAtOnceEvaluation, isBlockedEvaluation, isLastPassRequested, isPipelinedEvaluation, isReorderSolutions, isSharedState, newStats
__replaceArg, _clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toString
public DistinctTermScanOp(DistinctTermScanOp<E> op)
op
- public DistinctTermScanOp(BOp[] args, Map<String,Object> annotations)
args
- annotations
- protected IVariable<?> getDistinctVar()
protected IVariable<?>[] getSelect()
JoinAnnotations.SELECT
protected IConstraint[] constraints()
JoinAnnotations.CONSTRAINTS
public IPredicate<E> getPredicate()
public FutureTask<Void> eval(BOpContext<IBindingSet> context)
PipelineOp
FutureTask
which computes the operator against the
evaluation context. The caller is responsible for executing the
FutureTask
(this gives them the ability to hook the completion of
the computation).eval
in class PipelineOp
context
- The evaluation context.FutureTask
which will compute the operator's
evaluation.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.