@honua/sdk-js
    Preparing search index...

    Interface SemanticQueryBuilder<TRecord, TProtocol, TSpatiality>Experimental

    interface SemanticQueryBuilder<
        TRecord,
        TProtocol extends SourceProtocol,
        TSpatiality extends SourceSpatiality,
    > {
        aggregate<
            const TGroupBy extends readonly GroupableFieldName<TRecord>[],
            const TMetrics extends
                readonly [AggregateMetric<TRecord>, AggregateMetric<TRecord>],
        >(
            query: Omit<
                SemanticAggregateQuery<
                    TRecord,
                    TProtocol,
                    TSpatiality,
                    TGroupBy,
                    TMetrics,
                >,
                "kind",
            >,
        ): SemanticAggregateQuery<
            TRecord,
            TProtocol,
            TSpatiality,
            TGroupBy,
            TMetrics,
        >;
        and(
            ...args: readonly [
                SemanticFilter<TRecord, TSpatiality>,
                SemanticFilter<TRecord, TSpatiality>,
            ],
        ): SemanticFilter<TRecord, TSpatiality>;
        between<TKey extends string>(
            operand: PropertyNode<TKey>,
            lower:
                | QueryLiteral<TRecord[TKey]>
                | LiteralNode<QueryLiteral<TRecord[TKey]>>,
            upper:
                | QueryLiteral<TRecord[TKey]>
                | LiteralNode<QueryLiteral<TRecord[TKey]>>,
        ): RangeNode<TRecord>;
        comparison<TKey extends string>(
            operator: EqualityOperator,
            left: PropertyNode<TKey>,
            right:
                | QueryLiteral<TRecord[TKey]>
                | LiteralNode<QueryLiteral<TRecord[TKey]>>,
        ): ComparisonNode<TRecord>;
        comparison<TKey extends string>(
            operator: OrderedComparisonOperator,
            left: PropertyNode<TKey>,
            right:
                | QueryLiteral<TRecord[TKey]>
                | LiteralNode<QueryLiteral<TRecord[TKey]>>,
        ): ComparisonNode<TRecord>;
        features<
            const TSelect extends
                readonly FieldName<TRecord>[]
                | undefined = undefined,
            const TGeometry extends
                | "include"
                | "omit"
                | { field: GeometryFieldName<TRecord> }
                | { field: GeometryFieldName<TRecord> } = GeometryProjectionFor<
                TRecord,
                TSpatiality,
            >,
        >(
            query?: Omit<
                SemanticFeatureQuery<
                    TRecord,
                    TProtocol,
                    TSpatiality,
                    TSelect,
                    TGeometry,
                >,
                "kind",
            >,
        ): SemanticFeatureQuery<
            TRecord,
            TProtocol,
            TSpatiality,
            TSelect,
            TGeometry,
        >;
        inList<TKey extends string>(
            operand: PropertyNode<TKey>,
            values: readonly [
                QueryLiteral<TRecord[TKey]>
                | LiteralNode<QueryLiteral<TRecord[TKey]>>,
                QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>,
            ],
        ): SemanticFilter<TRecord, TSpatiality>;
        isNull<TKey extends string>(
            operand: PropertyNode<TKey>,
            operator?: "is-null" | "is-not-null",
        ): NullNode<TKey>;
        like<TKey extends string>(
            operand: PropertyNode<TKey>,
            pattern: string,
            options?: { caseSensitive?: boolean },
        ): PatternNode<TKey>;
        literal<const TValue extends JsonValue>(value: TValue): LiteralNode<TValue>;
        native<
            TDialect extends
                | "cql2-text"
                | "cql2-json"
                | "honua-grpc"
                | "geoservices-sql92"
                | "fes-2.0"
                | "odata-4.0"
                | "duckdb-sql"
                | `${string}.${string}.${string}`,
        >(
            dialect: TDialect,
            payload: NativePayloadFor<TDialect>,
        ): NativeFilter<TDialect>;
        not(
            arg: SemanticFilter<TRecord, TSpatiality>,
        ): SemanticFilter<TRecord, TSpatiality>;
        or(
            ...args: readonly [
                SemanticFilter<TRecord, TSpatiality>,
                SemanticFilter<TRecord, TSpatiality>,
            ],
        ): SemanticFilter<TRecord, TSpatiality>;
        property<TKey extends string>(name: TKey): PropertyNode<TKey>;
        temporal<TKey extends string>(
            operator: TemporalPredicate,
            operand: PropertyNode<TKey>,
            value: TemporalLiteralNode,
        ): TemporalNode<TRecord>;
    }

    Type Parameters

    Index

    Methods