1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! High-performance graph traversal.
//!
//! `rxgraph` provides fast topology queries, stateful path search, and explicit
//! construction APIs for graphs stored in columnar tables.
//!
//! ## Architecture
//!
//! Internally, `rxgraph` stores node and edge tables as Arrow
//! [`RecordBatch`](arrow::record_batch::RecordBatch) values, validates graph
//! identity columns once, and builds compact CSR topology for traversal. The
//! graph schema is deliberately small:
//!
//! - nodes require `id`
//! - edges require `id`, `src`, and `dest`
//! - all identity columns must be either `UInt64` or string
//! - optional `type` columns must be string
//!
//! Use [`Graph::new`] to build a graph, [`TraversalConfigBuilder`] plus
//! [`DslKernel`] for stateful path search, and the convenience methods on
//! [`Graph`] for simple BFS/DFS, shortest path, degree, and component queries.
//!
//! Traversal evaluates a [`DslKernel`] against every candidate edge. The kernel
//! decides whether the edge is accepted, how named path state changes, and
//! whether the accepted path should be returned. Search uses compact internal
//! IDs and materializes external [`GraphId`] values only in returned results.
pub use ;
pub use ;
pub use ;