Class ExecOpParallelBindJoinSPARQLwithVALUES

All Implemented Interfaces:
StatsProvider, ExecutableOperator, UnaryExecutableOp

public class ExecOpParallelBindJoinSPARQLwithVALUES extends BaseForExecOpParallelBindJoinSPARQL
Implementation of the parallel, batch-based bind-join algorithm that uses a VALUES clause to capture the potential join partners that are sent to the federation member. For more details about the actual implementation of the algorithm, and its extra capabilities, refer to BaseForExecOpParallelBindJoin.
  • Field Details

    • pattern

      protected final org.apache.jena.sparql.syntax.Element pattern
  • Constructor Details

    • ExecOpParallelBindJoinSPARQLwithVALUES

      public ExecOpParallelBindJoinSPARQLwithVALUES(SPARQLGraphPattern query, SPARQLEndpoint fm, ExpectedVariables inputVars, boolean useOuterJoinSemantics, int batchSize, boolean collectExceptions, QueryPlanningInfo qpInfo)
      Parameters:
      query - - the graph pattern to be evaluated (in a bind-join manner) at the federation member given as 'fm'
      fm - - the federation member targeted by this operator
      inputVars - - the variables to be expected in the solution mappings that will be pushed as input to this operator
      useOuterJoinSemantics - - true if the 'query' is to be evaluated under outer-join semantics; false for inner-join semantics
      batchSize - - the number of solution mappings to be included in each bind-join request
      collectExceptions - - true if this operator has to collect exceptions (which is handled entirely by one of the super classes); false if the operator should immediately throw every ExecOpExecutionException
      qpInfo - - the QueryPlanningInfo object that was populated for a physical plan whose root operator was the physical operator for which this executable operator was created
  • Method Details

    • createRequest

      protected SPARQLRequest createRequest(Set<org.apache.jena.sparql.engine.binding.Binding> batch)
      Description copied from class: BaseForExecOpParallelBindJoin
      Implementations of this function should create a bind-join request for the given batch of solution mappings. Implementations can assume that the given solution mappings are already restricted to contain bindings only for the join variables, that none of the given solution mappings contains blank nodes, that none of the given solution mappings is the empty solution mapping, and that the given set of solution mappings is duplicate free and nonempty.
      Specified by:
      createRequest in class BaseForExecOpParallelBindJoin<SPARQLGraphPattern,SPARQLEndpoint,SPARQLRequest,SolMapsResponse>