Skip to main content

uqa_graph/
lib.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Property graphs and their posting representation.
8//!
9//! Defines `GraphStore` (trait + in-memory implementation), the
10//! `GraphPostingList` extension of [`uqa_core::PostingList`], and the
11//! lossless `Phi` codec for carrying graph metadata through ordinary posting
12//! storage. Graph-result merges expose their subgraph collision policy
13//! separately from ordinary posting payload merges.
14
15pub mod adapters;
16pub mod age_names;
17pub mod agtype;
18mod centrality;
19mod cross_paradigm;
20pub mod cypher;
21mod delta;
22mod embedding;
23mod incremental_match;
24mod index;
25mod memory_store;
26mod message_passing;
27mod operator_impls;
28mod operators;
29mod pattern;
30mod posting_list;
31mod rpq;
32mod sqlite_store;
33mod store;
34mod subgraph_index;
35mod temporal;
36mod types;
37mod versioned_store;
38
39pub use adapters::{GraphPostingCodec, PostingToGraphAdapter, TextTfScoreNormalizer};
40pub use centrality::{BetweennessCentrality, PageRank, HITS};
41pub use cross_paradigm::{
42    CrossParadigmError, CrossParadigmResult, Document, SemanticGraphSearch, TextToGraph, ToGraph,
43    VectorEnhancedMatch, VertexEmbedding,
44};
45pub use delta::{DeltaOp, GraphDelta};
46pub use embedding::{GraphEmbedding, MAX_GRAPH_EMBEDDING_DIMENSIONS, MAX_GRAPH_EMBEDDING_LAYERS};
47pub use incremental_match::{implicated_vertices, IncrementalPatternMatcher};
48pub use index::{LabelIndex, PathIndex, VertexPropertyIndex};
49pub use memory_store::{
50    graphid_label_id, graphid_sequence, make_graphid, GraphLabelInfo, GraphLabelRegistry,
51    LabelKind, MemoryGraphStore, EDGE_DEFAULT_LABEL_ID, FIRST_USER_LABEL_ID, GRAPHID_LABEL_SHIFT,
52    VERTEX_DEFAULT_LABEL_ID,
53};
54pub use message_passing::{AggregationKind, MessagePassing, MAX_MESSAGE_PASSING_LAYERS};
55pub use operator_impls::{CypherQueryOperator, WeightedPathQueryOperator};
56pub use operators::{
57    AggFn, GMatch, RegularPathQuery, Traverse, VertexAggregation, VertexMatch, WeightedPathQuery,
58    DEFAULT_GRAPH_SCORE,
59};
60pub use pattern::{EdgePattern, EdgePredicate, GraphPattern, VertexPattern, VertexPredicate};
61pub use posting_list::{
62    GraphPayload, GraphPostingList, GraphPostingListError, GraphPostingListResult,
63    SubgraphMergePolicy,
64};
65pub use rpq::{
66    build_nfa, epsilon_closure, parse_rpq, simplify, subset_construction, Dfa, DfaState, Nfa,
67    NfaTransition, RPQBuildError, RPQParseError, RegularPathExpr, StateId, MAX_DFA_STATES,
68    MAX_NFA_STATES, MAX_RPQ_AST_DEPTH,
69};
70pub use sqlite_store::SQLiteGraphStore;
71pub use store::{GraphStore, GraphStoreError, GraphStoreResult};
72pub use subgraph_index::SubgraphIndex;
73pub use temporal::{TemporalFilter, TemporalPatternMatch, TemporalTraverse};
74pub use types::Direction;
75pub use versioned_store::VersionedGraphStore;