protected class JoinTask.ChunkTask extends Object implements Callable<Boolean>
IAccessPath
for a join dimension. Each element in the chunk in paired with a copy
of the given bindings. If that IBindingSet
is accepted by the
IRule
, then the IBindingSet
will be output. The
IBindingSet
s to be output are buffered into chunks and the
chunks added to the JoinPipelineTask#bindingSetBuffers
for
the corresponding predicate.Constructor and Description |
---|
JoinTask.ChunkTask(IBindingSet[] bindingSet,
AbstractUnsynchronizedArrayBuffer<IBindingSet> unsyncBuffer,
Object[] chunk) |
public JoinTask.ChunkTask(IBindingSet[] bindingSet, AbstractUnsynchronizedArrayBuffer<IBindingSet> unsyncBuffer, Object[] chunk)
bindingSet
- The bindings with which the each element in the chunk will
be paired to create the bindings for the downstream join
dimension.unsyncBuffer
- A per-Thread
buffer used to accumulate chunks of
generated IBindingSet
s (optional). When the
JoinTask.ChunkTask
will be run in its own thread, pass
null
and the buffer will be obtained in
call()
.chunk
- A chunk of elements read from the IAccessPath
for
the current join dimension.public Boolean call() throws Exception
call
in interface Callable<Boolean>
true
iff NO elements in the chunk (as read
from the access path by the caller) were accepted when
combined with the bindingSets
from the source
JoinTask
.BufferClosedException
- if there is an attempt to output a chunk of
IBindingSet
s or ISolution
s and the
output buffer is an IBlockingBuffer
(true for
all join dimensions exception the lastJoin and also
true for query on the lastJoin) and that
IBlockingBuffer
has been closed.Exception
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.