Skip to main content

uqa_operators/
lib.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Document-support, payload, scoring, and fusion operators over posting lists.
8//!
9//! Operators form a monoid under composition (Theorem 3.2.3, Paper 1):
10//! every concrete operator's `execute` returns a `PostingList`, and
11//! [`ComposedOperator`] is associative with the empty operator as
12//! identity.
13
14pub mod aggregation;
15pub mod base;
16pub mod boolean;
17pub mod fusion_wrappers;
18pub mod hierarchical;
19pub mod hybrid;
20pub mod multi_stage;
21pub mod phrase;
22pub mod primitive;
23pub mod progressive_fusion;
24pub mod sparse;
25pub mod tree;
26pub mod vector;
27
28pub use aggregation::{
29    AggState, AggregateOperator, AggregationMonoid, AvgMonoid, AvgState, CountMonoid,
30    GroupByOperator, MaxMonoid, MinMonoid, QuantileMonoid, SumMonoid,
31};
32pub use base::{
33    ComposedOperator, Direction as DeepGraphDirection, ExecutionContext, GraphNeighborLookup,
34    Operator,
35};
36pub use boolean::{ComplementOperator, IntersectOperator, UnionOperator};
37#[allow(deprecated)]
38pub use fusion_wrappers::{
39    calibrate_query_pool_postings, fit_pool_calibration, AttentionFuser, AttentionFusionOperator,
40    CalibratedVectorOperator, LearnedFusionOperator, MultiFieldSearchOperator,
41    QueryPoolVectorScoreOperator, RelevantSampleSplit,
42};
43pub use hierarchical::{
44    eval_path, parse_path, project_paths, unnest_array, AggregationKind as PathAggKind,
45    PathAggregateOperator, PathFilterOperator, PathProjectOperator, UnifiedFilterOperator,
46};
47pub use hybrid::{
48    AdaptivePositiveEvidencePoolOperator, BayesianEvidenceFusionOperator, FacetVectorOperator,
49    HybridTextVectorOperator, IndexScanOperator, ProbBoolFusionOperator,
50    ProbBoolMode as HybridProbBoolMode, ProbNotOperator, RobustPositiveEvidencePoolOperator,
51    SemanticFilterOperator, VectorExclusionOperator,
52};
53pub use multi_stage::{Cutoff, MultiStageOperator};
54pub use primitive::{
55    FacetOperator, FilterOperator, ScoreOperator, SpatialWithinOperator, TermOperator,
56};
57pub use progressive_fusion::ProgressiveFusionOperator;
58pub use sparse::SparseThresholdOperator;
59pub use tree::{
60    AttentionFuserDyn, AttentionRef, DeepFusionAggregation, DeepFusionLayer, DeepFusionPoolMethod,
61    EdgeConstraint, EdgePatternIR, ExternalPriorMode, GatingSpec, GraphPatternIR, LearnedFuserDyn,
62    LearnedFusionRef, MultiStageCutoff, MultiStageEntry, OperatorTree, PathWeightPredicate,
63    ProbBoolMode, ProgressiveFusionEntry, ScorerRef, TemporalFilterIR, TextScoringMode,
64    TextTopKPlan, TextTopKStrategy, VertexConstraint, VertexPatternIR, VertexPredicate,
65};
66pub use uqa_core::{PathExpr, PathSegment};
67pub use vector::{CosineProbabilityOperator, KNNOperator, VectorSimilarityOperator};