sparql-view-unfold
    Preparing search index...

    Interface ChainBind

    One BIND(expression AS variable) lifted out of an EXTEND chain. The unit a pull-up decides about is the bind rather than the node carrying it, so nothing here refers back to the chain it came out of.

    interface ChainBind {
        expression: Expression;
        extendNode: Extend;
        reads: Set<string>;
        variable: Variable;
    }
    Index

    Properties

    expression: Expression

    The expression it writes into it.

    extendNode: Extend

    The EXTEND this was read off, so that a caller can ask utils/certainlyBoundVars!cpMetaOf what holds where the bind is evaluated rather than at the top of the chain. That difference is load-bearing: ?y ∈ cVars of the whole input is also satisfied by a bind further up the chain writing ?y, which is precisely a ?y this bind reads unbound.

    reads: Set<string>

    vars(e), cached: every licence reads it.

    variable: Variable

    The variable the bind writes.