• Materialize the given operation (recursively) with the given bindings. Essentially, the variables in the given operation which don't appear in the projection operation will be replaced by the terms bound to the variables in the given bindings.

    Parameters

    • operation: Operation

      SPARQL algebra operation. And the variables that appear in the projection operation will be added to a new values operation.

    • bindings: Bindings

      A bindings object.

    • algebraFactory: Factory

      The algebra factory.

    • bindingsFactory: BindingsFactory

      The bindings factory.

    • options: {
          bindFilter?: boolean;
          originalBindings?: Bindings;
          strictTargetVariables?: boolean;
      } = {}

      Options for materializations.

      • OptionalbindFilter?: boolean

        If filter expressions should be materialized.

      • OptionaloriginalBindings?: Bindings

        The bindings object as it was at the top level call of materializeOperation.

      • OptionalstrictTargetVariables?: boolean

        If target variable bindings (such as on SELECT or BIND) should not be allowed.

    Returns Algebra.Operation

    Algebra.Operation A new operation materialized with the given bindings.