Class ExecOpBindJoinSPARQLwithVALUES
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.BaseForExecOpBindJoin<SPARQLGraphPattern,SPARQLEndpoint>
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps<SPARQLGraphPattern,SPARQLEndpoint>
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinSPARQL
se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.ExecOpBindJoinSPARQLwithVALUES
- All Implemented Interfaces:
StatsProvider
,ExecutableOperator
,UnaryExecutableOp
Implementation of (a batching version of) the bind join algorithm that uses
a VALUES clause to capture the potential join partners that are sent to the
federation member.
For every batch of solution mappings from the input, the algorithm sends a
SPARQL request to the federation member; this request consists of the given
graph pattern, extended with a VALUES clause that contains the solutions of
the current input batch (in fact, only their projection to the join variables;
also, the algorithm may decide to split the input batch into smaller batches
for multiple requests).
The response to such a request is the subset of the solutions for the graph
pattern that are join partners for at least one of the solutions that were
used for creating the request.
After receiving such a response, the algorithm locally joins the solutions
from the response with the solutions in the batch used for creating the
request, and 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
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinSPARQL
varsInSubQuery
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps
minimumRequestBlockSize, numberOfRequestOpsUsed, requestBlockSize, requestBlockSizeWasReduced, statsOfFirstReqOp, statsOfLastReqOp, useOuterJoinSemantics, varsInPatternForFM
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoin
defaultPreferredInputBlockSize, fm, query
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBase
timeAtCurrentProcStart
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOps
collectExceptions
-
Constructor Summary
ConstructorsConstructorDescriptionExecOpBindJoinSPARQLwithVALUES
(SPARQLGraphPattern query, SPARQLEndpoint fm, boolean useOuterJoinSemantics, boolean collectExceptions) -
Method Summary
Modifier and TypeMethodDescriptionprotected NullaryExecutableOp
createExecutableReqOp
(Iterable<SolutionMapping> solMaps) 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.Methods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoinWithRequestOps
_process, _process, _processWithoutSplittingInputFirst, createStats, extractUnjoinableInputSMs, reduceRequestBlockSize, resetStats
Methods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOpBindJoin
_concludeExecution, preferredInputBlockSize
Methods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.UnaryExecutableOpBase
concludeExecution, getStats, process
Methods inherited from class se.liu.ida.hefquin.engine.queryplan.executable.impl.ops.BaseForExecOps
getExceptionsCaughtDuringExecution, recordExceptionCaughtDuringExecution
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface se.liu.ida.hefquin.engine.queryplan.executable.ExecutableOperator
getExceptionsCaughtDuringExecution
-
Constructor Details
-
ExecOpBindJoinSPARQLwithVALUES
public ExecOpBindJoinSPARQLwithVALUES(SPARQLGraphPattern query, SPARQLEndpoint fm, boolean useOuterJoinSemantics, boolean collectExceptions)
-
-
Method Details
-
createExecutableReqOp
Description copied from class:BaseForExecOpBindJoinWithRequestOps
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. The operator created by this function should throws exceptions instead of collecting them.- Specified by:
createExecutableReqOp
in classBaseForExecOpBindJoinWithRequestOps<SPARQLGraphPattern,
SPARQLEndpoint>
-