Comunica
    Preparing search index...

    A comunica Filter Pushdown Optimize Query Operation Actor.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    beforeActors: Actor<
        IActionOptimizeQueryOperation,
        IActorTest,
        IActorOptimizeQueryOperationOutput,
        undefined,
    >[] = []

    Actor that must be registered in the bus before this actor.

    bus: Bus<
        Actor<
            IActionOptimizeQueryOperation,
            IActorTest,
            IActorOptimizeQueryOperationOutput,
            undefined,
        >,
        IActionOptimizeQueryOperation,
        IActorTest,
        IActorOptimizeQueryOperationOutput,
        undefined,
    >

    The bus this actor subscribes to.

    name: string

    The name for this actor.

    {<rdf:subject>}
    

    Methods

    • Recursively push down the given expression into the given operation if possible. Different operators have different semantics for choosing whether or not to push down, and how this pushdown is done. For every passed operator, it is checked whether or not the filter will have any effect on the operation. If not, the filter is voided.

      Parameters

      • expression: Expression

        An expression to push down.

      • expressionVariables: Variable[]

        The variables inside the given expression.

      • operation: Operation

        The operation to push down into.

      • factory: Factory

        An algebra factory.

      • context: IActionContext

        The action context.

      Returns [boolean, Operation]

      A tuple indicating if the operation was modified and the modified operation.

    • Check if the given expression is a simple equals operation with one variable and one non-literal (or literal with canonical lexical form) term that can be pushed into a pattern.

      Parameters

      • expression: Expression

        The current expression.

      Returns undefined | { term: Term; variable: Variable }

      The variable and term to fill into the pattern, or undefined.

    • Parameters

      • operation: Operation
      • expressionVariables: Variable[]

      Returns {
          fullyOverlapping: Operation[];
          notOverlapping: Operation[];
          partiallyOverlapping: Operation[];
      }