Class PhysicalOpBindJoinSPARQL
- All Implemented Interfaces:
QueryPlanOperator,PhysicalOperator,PhysicalOperatorForLogicalOperator,UnaryPhysicalOp,UnaryPhysicalOpForLogicalOp
BaseForExecOpParallelBindJoin vs
BaseForExecOpSequentialBindJoin) and, additionally, the form of
the bind-join requests can be decided (e.g., VALUES-based, FILTER-based).
Semantics: This operator implements the logical operators gpAdd
(see LogicalOpGPAdd) and gpOptAdd (see LogicalOpGPOptAdd).
That is, for a given graph pattern, a federation member, and an input
sequence of solution mappings (produced by the sub-plan under this
operator), the operator produces the solutions resulting from the join
(inner or left outer) between the input solutions and the solutions of
evaluating the given graph pattern over the data of the federation
member.
Algorithm description: For a detailed description of the
actual algorithm associated with this physical operator, refer
to BaseForExecOpParallelBindJoin (for the parallel version)
and to BaseForExecOpSequentialBindJoin (for the sequential
version), and to
ExecOpSequentialBindJoinSPARQLwithVarRenaming,
ExecOpSequentialBindJoinSPARQLwithVALUES,
ExecOpSequentialBindJoinSPARQLwithFILTER,
ExecOpSequentialBindJoinSPARQLwithUNION, and
ExecOpSequentialBindJoinSPARQLwithVALUESorFILTER,
for the different kinds of bind-join requests.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected final PhysicalOpBindJoinSPARQL.Factorystatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class se.liu.ida.hefquin.engine.queryplan.physical.impl.BaseForPhysicalOpSingleInputJoin
lop -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPhysicalOpBindJoinSPARQL(LogicalOpGPAdd lop, PhysicalOpBindJoinSPARQL.Factory myFactory) protected -
Method Summary
Modifier and TypeMethodDescriptioncreateExecOp(boolean collectExceptions, QueryPlanningInfo qpInfo, ExpectedVariables... inputVars) Creates and returns the executable operator to be used for this physical operator.protected UnaryExecutableOpcreateExecOp(SPARQLGraphPattern pattern, SPARQLEndpoint sparqlEndpoint, boolean useOuterJoinSemantics, boolean collectExceptions, QueryPlanningInfo qpInfo, ExpectedVariables... inputVars) booleanintgetType()inthashCode()static booleanhasNonJoiningVar(SPARQLGraphPattern pattern, ExpectedVariables vars) toString()booleanvoidvisit(PhysicalPlanVisitor visitor) Methods inherited from class se.liu.ida.hefquin.engine.queryplan.physical.impl.BaseForPhysicalOpSingleInputJoin
getLogicalOperatorMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface se.liu.ida.hefquin.engine.queryplan.physical.PhysicalOperatorForLogicalOperator
getExpectedVariables
-
Field Details
-
VALUES_BASED
- See Also:
-
FILTER_BASED
- See Also:
-
UNION_BASED
- See Also:
-
VARIABLE_RENAMING
- See Also:
-
VALUES_OR_FILTER
- See Also:
-
POSSIBLE_TYPES
-
myFactory
-
-
Constructor Details
-
PhysicalOpBindJoinSPARQL
-
PhysicalOpBindJoinSPARQL
protected PhysicalOpBindJoinSPARQL(LogicalOpGPOptAdd lop, PhysicalOpBindJoinSPARQL.Factory myFactory)
-
-
Method Details
-
getType
-
usesParallelVersion
public boolean usesParallelVersion() -
getBatchSize
public int getBatchSize() -
createExecOp
public UnaryExecutableOp createExecOp(boolean collectExceptions, QueryPlanningInfo qpInfo, ExpectedVariables... inputVars) Description copied from interface:PhysicalOperatorCreates and returns the executable operator to be used for this physical operator. The implementation of this method has to create a newExecutableOperatorobject each time it is called. The givenQueryPlanningInfoobject is passed to the created executable operator (to be available via theExecutableOperator.getQueryPlanningInfo()method) and should be taken from the physical plan whose root operator is this physical operator. The given collectExceptions flag is passed to the executable operator and determines whether that operator collects its exceptions (seeExecutableOperator.getExceptionsCaughtDuringExecution()) or throws them immediately. The number ofExpectedVariablesobjects passed as arguments to this method must be in line with the degree of this operator (e.g., for a unary operator, exactly one such object must be passed). -
createExecOp
protected UnaryExecutableOp createExecOp(SPARQLGraphPattern pattern, SPARQLEndpoint sparqlEndpoint, boolean useOuterJoinSemantics, boolean collectExceptions, QueryPlanningInfo qpInfo, ExpectedVariables... inputVars) -
visit
-
equals
-
hashCode
-
toString
-
hasNonJoiningVar
-