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 primitive;
22pub mod progressive_fusion;
23pub mod sparse;
24pub mod tree;
25pub mod vector;
26
27pub use aggregation::{
28    AggState, AggregateOperator, AggregationMonoid, AvgMonoid, AvgState, CountMonoid,
29    GroupByOperator, MaxMonoid, MinMonoid, QuantileMonoid, SumMonoid,
30};
31pub use base::{
32    ComposedOperator, Direction as DeepGraphDirection, ExecutionContext, GraphNeighborLookup,
33    Operator,
34};
35pub use boolean::{ComplementOperator, IntersectOperator, UnionOperator};
36#[allow(deprecated)]
37pub use fusion_wrappers::{
38    calibrate_query_pool_postings, fit_pool_calibration, AttentionFuser, AttentionFusionOperator,
39    CalibratedVectorOperator, LearnedFusionOperator, MultiFieldSearchOperator,
40    QueryPoolVectorScoreOperator, RelevantSampleSplit,
41};
42pub use hierarchical::{
43    eval_path, parse_path, project_paths, unnest_array, AggregationKind as PathAggKind,
44    PathAggregateOperator, PathFilterOperator, PathProjectOperator, UnifiedFilterOperator,
45};
46pub use hybrid::{
47    AdaptivePositiveEvidencePoolOperator, BayesianEvidenceFusionOperator, FacetVectorOperator,
48    HybridTextVectorOperator, IndexScanOperator, ProbBoolFusionOperator,
49    ProbBoolMode as HybridProbBoolMode, ProbNotOperator, RobustPositiveEvidencePoolOperator,
50    SemanticFilterOperator, VectorExclusionOperator,
51};
52pub use multi_stage::{Cutoff, MultiStageOperator};
53pub use primitive::{
54    FacetOperator, FilterOperator, ScoreOperator, SpatialWithinOperator, TermOperator,
55};
56pub use progressive_fusion::ProgressiveFusionOperator;
57pub use sparse::SparseThresholdOperator;
58pub use tree::{
59    AttentionFuserDyn, AttentionRef, DeepFusionAggregation, DeepFusionLayer, DeepFusionPoolMethod,
60    EdgeConstraint, EdgePatternIR, ExternalPriorMode, GatingSpec, GraphPatternIR, LearnedFuserDyn,
61    LearnedFusionRef, MultiStageCutoff, MultiStageEntry, OperatorTree, PathWeightPredicate,
62    ProbBoolMode, ProgressiveFusionEntry, ScorerRef, TemporalFilterIR, TextScoringMode,
63    TextTopKPlan, TextTopKStrategy, VertexConstraint, VertexPatternIR, VertexPredicate,
64};
65pub use uqa_core::{PathExpr, PathSegment};
66pub use vector::{CosineProbabilityOperator, KNNOperator, VectorSimilarityOperator};