Class ExecOpBindJoinBRTPF
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOps
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBase
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBaseWithBatching
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps<TriplePattern,BRTPFServer>
 
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.ExecOpBindJoinBRTPF
- All Implemented Interfaces:
 StatsProvider,ExecutableOperator,UnaryExecutableOp
public class ExecOpBindJoinBRTPF
extends BaseForExecOpBindJoinWithRequestOps<TriplePattern,BRTPFServer> 
Implementation of (a batching version of) the bind join algorithm
 for cases in which the federation member accessed by the algorithm
 supports the brTPF interface.
 For every batch of solution mappings from the input, the algorithm of
 this operator sends a brTPF request to the federation member; this request
 consists of the given triple pattern and the solutions of the current
 input batch (in fact, the algorithm may also decide to split the input
 batch into smaller batches for multiple requests).
 The response to such a request are all triples that i) match the triple
 pattern and ii) are compatible with at least one of the solutions that
 were attached to the request.
 After receiving such a response, the algorithm creates solution mappings
 from the received triples, joins these solution mappings locally with the
 solutions in the batch used for making the request, and then outputs the
 resulting joined solutions (if any).
 Thereafter, the algorithm moves on to the next batch of solutions from
 the input.
- 
Nested Class Summary
Nested classes/interfaces inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps
BaseForExecOpBindJoinWithRequestOps.MyIntermediateResultElementSink, BaseForExecOpBindJoinWithRequestOps.MyIntermediateResultElementSinkOuterJoin - 
Field Summary
FieldsFields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps
fm, minimumRequestBlockSize, numberOfRequestOpsUsed, query, requestBlockSize, requestBlockSizeWasReduced, statsOfFirstReqOp, statsOfLastReqOp, useOuterJoinSemantics, varsInPatternForFMFields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBaseWithBatching
batchSize, collectedInputSolMapsFields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOps
collectExceptions - 
Constructor Summary
ConstructorsConstructorDescriptionExecOpBindJoinBRTPF(TriplePattern tp, BRTPFServer fm, boolean useOuterJoinSemantics, boolean collectExceptions) ExecOpBindJoinBRTPF(TriplePattern tp, BRTPFServer fm, boolean useOuterJoinSemantics, int batchSize, boolean collectExceptions)  - 
Method Summary
Modifier and TypeMethodDescriptionprotected NullaryExecutableOpcreateExecutableReqOp(Iterable<SolutionMapping> inputSolMaps) Implementations of this function should create an executable operator that can perform a bind join request in which the query of this bind join operator is combined with the given solution mappings.static Set<SolutionMapping> restrictSolMaps(Iterable<SolutionMapping> inputSolMaps, Set<org.apache.jena.sparql.core.Var> joinVars) Returns null if at least one of the solution mappings that would otherwise be added to the returned set of solution mappings is the empty solution mapping (in which case this operator better uses a TPF request rather than a brTPF request).Methods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps
_concludeExecution, _processBatch, _processJoinableInput, _processWithoutSplittingInputFirst, createStats, extractUnjoinableInputSMs, reduceRequestBlockSize, resetStatsMethods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBaseWithBatching
_concludeExecution, _processMethods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBase
_process, concludeExecution, getStats, process, processMethods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOps
getExceptionsCaughtDuringExecution, recordExceptionCaughtDuringExecutionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface se.liu.ida.hefquin.engine.queryplan.executable.ExecutableOperator
getExceptionsCaughtDuringExecution 
- 
Field Details
- 
DEFAULT_BATCH_SIZE
public static final int DEFAULT_BATCH_SIZE- See Also:
 
 
 - 
 - 
Constructor Details
- 
ExecOpBindJoinBRTPF
public ExecOpBindJoinBRTPF(TriplePattern tp, BRTPFServer fm, boolean useOuterJoinSemantics, int batchSize, boolean collectExceptions)  - 
ExecOpBindJoinBRTPF
public ExecOpBindJoinBRTPF(TriplePattern tp, BRTPFServer fm, boolean useOuterJoinSemantics, boolean collectExceptions)  
 - 
 - 
Method Details
- 
createExecutableReqOp
Description copied from class:BaseForExecOpBindJoinWithRequestOpsImplementations of this function should create an executable operator that can perform a bind join request in which the query of this bind join operator is combined with the given solution mappings. The operator created by this function should throws exceptions instead of collecting them.- Specified by:
 createExecutableReqOpin classBaseForExecOpBindJoinWithRequestOps<TriplePattern,BRTPFServer> 
 - 
restrictSolMaps
public static Set<SolutionMapping> restrictSolMaps(Iterable<SolutionMapping> inputSolMaps, Set<org.apache.jena.sparql.core.Var> joinVars) Returns null if at least one of the solution mappings that would otherwise be added to the returned set of solution mappings is the empty solution mapping (in which case this operator better uses a TPF request rather than a brTPF request). 
 -