sparql-view-unfold
    Preparing search index...

    Function createDefaultTransformationPipeline

    • The pipeline to reach for when you have no reason to build your own.

      The order is not a preference, it is what each step needs to see. Paths are expanded before the unfolding, which only knows triple patterns. FILTER(FALSE) is collapsed after every step that can produce one, so the next step has less to walk. The pushdown drives terms into the leaves and the pull-up floats the binds it leaves behind back out, in that order, because the pushdown is what creates them. nullifyJoinOverIncompatibleBounds comes last, after removeProjections and pullUpExtends: it reads each join operand's top-level EXTEND chain and halts at a PROJECT, so anywhere earlier it sees nothing at all.

      transformations/nullifyUnbindableVars!nullifyUnbindableVars is deliberately absent - nothing the unfolding generates gives it anything to decide - and so are the blank node materialisations, which are a choice about the data source rather than an optimisation.

      Parameters

      Returns QueryTransformation[]

      the pipeline, to hand to createQueryRewriter

      const rewriter = createQueryRewriter(createDefaultTransformationPipeline(
      mappingFromConstructQueries([ tripleTermConstruct, nonTripleTermConstruct ]),
      ));