public class Tee extends CopyOp
Pipeline operator copies its source to both sink and altSink. The sink and
the altSink must both be ancestors of the operator. The sinkRef MAY be
omitted when one of the targets is the immediate parent of the TEE.
Evaluation scope: BOpEvaluationContext.ANY
.
In truth maintenance we establish a focus store which is brought to a fixed point by applying some rules and a transitive closure operator. Once the fixed point is reached, the assertions in the focus store are either inserted onto the database or (for retraction) removed from database unless a proof can be found that an assertion is still entailed.
The Tee
operator can be used in truth maintenance to read on the
UNION of the focus store and the database - see TMUtility
. This is
handled as the "union" of two JOINs using a Tee
as follows:
slice := SLICE( join2 )[bopId=3] join2 := JOIN( join1, bar.spo(A,loves,B))[bopId=2] join1 := JOIN( tee, foo.spo(A,loves,B))[bopId=1; sinkRef=3] tee := TEE( ... )[altSinkRef=2],The
Tee
copies its inputs to both the default sink (its parent, which
is join1) and the alternate sink (join2). join1 routes its outputs around
join2, sending them directly to their lowest common ancestor. This has the
effect of creating a union of their outputs at the receiver. In this example,
a Slice
is used as the target for both of the join operators. Since
this is a pipeline construction, the joins will be evaluated in parallel as
intermediate results arrive for those operators. Normally the Tee
will be fed by a StartOp
or another PipelineJoin
.CopyOp.Annotations
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
Tee(BOp[] args,
Map<String,Object> annotations)
Shallow copy constructor.
|
Tee(Tee op)
Deep copy constructor.
|
bindingSets, constraints, eval, 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
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.