Class ExecOpSequentialBindJoinSPARQLwithUNION

All Implemented Interfaces:
StatsProvider, ExecutableOperator, UnaryExecutableOp

public class ExecOpSequentialBindJoinSPARQLwithUNION extends BaseForExecOpSequentialBindJoinSPARQL
Implementation of the sequential, batch-based bind-join algorithm that uses UNION clauses with FILTERs inside. For more details about the actual implementation of the algorithm, and its extra capabilities, refer to BaseForExecOpSequentialBindJoin.
  • Field Details

    • pattern

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

    • ExecOpSequentialBindJoinSPARQLwithUNION

      public ExecOpSequentialBindJoinSPARQLwithUNION(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; this value must not be smaller than BaseForExecOpSequentialBindJoin.minimumRequestBlockSize
      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

    • createExecutableReqOp

      protected NullaryExecutableOp createExecutableReqOp(Set<org.apache.jena.sparql.engine.binding.Binding> solMaps)
      Description copied from class: BaseForExecOpSequentialBindJoin
      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. 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. The operator created by this function should throw exceptions instead of collecting them.
      Specified by:
      createExecutableReqOp in class BaseForExecOpSequentialBindJoin<SPARQLGraphPattern,SPARQLEndpoint>
    • createRequest

      public static SPARQLRequest createRequest(Set<org.apache.jena.sparql.engine.binding.Binding> solMaps, org.apache.jena.sparql.syntax.Element pattern, Set<org.apache.jena.sparql.core.Var> varsInQuery)
    • createUnion

      public static org.apache.jena.sparql.syntax.Element createUnion(Iterable<org.apache.jena.sparql.engine.binding.Binding> solMaps, org.apache.jena.sparql.syntax.Element pattern, Set<org.apache.jena.sparql.core.Var> varsInQuery)