Type Alias FragmentSelectorShape

FragmentSelectorShape:
    | {
        children?: FragmentSelectorShape[];
        filterBindings?: true;
        joinBindings?: true;
        operation: {
            operationType: "type";
            type: Algebra.types;
        } | {
            operationType: "pattern";
            pattern: Algebra.Operation;
        } | {
            operationType: "wildcard";
        };
        scopedVariables?: RDF.Variable[];
        type: "operation";
        variablesOptional?: RDF.Variable[];
        variablesRequired?: RDF.Variable[];
    }
    | {
        children: FragmentSelectorShape[];
        type: "conjunction";
    }
    | {
        children: FragmentSelectorShape[];
        type: "disjunction";
    }
    | {
        child: FragmentSelectorShape;
        max?: number;
        min?: number;
        type: "arity";
    }

A fragment selector shape determines the shape of selectors that can be executed by a query source. Selectors conforming to this shape represent boolean functions to decide if triples belong to a query response.

Type declaration

  • Optionalchildren?: FragmentSelectorShape[]

    Children of this operation.

  • OptionalfilterBindings?: true

    If bindings can be passed into the source as a filter.

  • OptionaljoinBindings?: true

    If bindings can be passed into the source as a join.

  • operation: {
        operationType: "type";
        type: Algebra.types;
    } | {
        operationType: "pattern";
        pattern: Algebra.Operation;
    } | {
        operationType: "wildcard";
    }

    The supported operation.

  • OptionalscopedVariables?: RDF.Variable[]

    Variables that are in-scope in this operation and its children.

  • type: "operation"
  • OptionalvariablesOptional?: RDF.Variable[]

    Variables that may be passed to the selector when instantiated.

  • OptionalvariablesRequired?: RDF.Variable[]

    Variables that must be passed to the selector when instantiated.