Type alias FragmentSelectorShape

FragmentSelectorShape: {
    children?: FragmentSelectorShape[];
    filterBindings?: true;
    joinBindings?: true;
    operation: {
        operationType: "type";
        type: Algebra.types;
    } | {
        operationType: "pattern";
        pattern: Algebra.Operation;
    };
    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

  • Optional children?: FragmentSelectorShape[]

    Children of this operation.

  • Optional filterBindings?: true

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

  • Optional joinBindings?: true

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

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

    The supported operation.

  • Optional scopedVariables?: RDF.Variable[]

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

  • type: "operation"
  • Optional variablesOptional?: RDF.Variable[]

    Variables that may be passed to the selector when instantiated.

  • Optional variablesRequired?: RDF.Variable[]

    Variables that must be passed to the selector when instantiated.

Type declaration

Type declaration

Type declaration