Comunica
    Preparing search index...

    A comunica Sort Limit Pushdown Optimize Query Operation Actor.

    It annotates every ORDER BY with the number of its results that a LIMIT above it will read. ORDER BY ?x LIMIT 10 otherwise materializes and sorts the whole solution sequence to return ten rows, while the annotation lets it sort within a buffer of ten instead.

    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

    • Annotate the ORDER BY that determines the first sortLimit results of the given operation.

      Only projections are traversed on the way down. A projection maps every input result to exactly one output result in the same order, so a bound on its output is also a bound on its input. The other operations that occur between a slice and its ORDER BY (DISTINCT, REDUCED, CONSTRUCT and DESCRIBE) can all consume more results than they produce, so they are not traversed.

      Parameters

      • operation: BaseOperation

        The input of a slice, or of a projection traversed from one.

      • sortLimit: number

        The number of results that will be read from that operation.

      Returns BaseOperation | undefined

      The annotated operation, or undefined if there is no ORDER BY to annotate.