Skip to main content

ruvector_graph/
lib.rs

1//! # RuVector Graph Database
2//!
3//! A high-performance graph database layer built on RuVector with Neo4j compatibility.
4//! Supports property graphs, hypergraphs, Cypher queries, ACID transactions, and distributed queries.
5
6pub mod cypher;
7pub mod edge;
8pub mod error;
9pub mod executor;
10pub mod graph;
11pub mod hyperedge;
12pub mod index;
13pub mod node;
14pub mod storage;
15pub mod transaction;
16pub mod types;
17
18// Performance optimization modules
19pub mod optimization;
20
21// Vector-graph hybrid query capabilities
22pub mod hybrid;
23
24// Distributed graph capabilities
25#[cfg(feature = "distributed")]
26pub mod distributed;
27
28// Core type re-exports
29pub use edge::{Edge, EdgeBuilder};
30pub use error::{GraphError, Result};
31pub use graph::GraphDB;
32pub use hyperedge::{Hyperedge, HyperedgeBuilder, HyperedgeId};
33pub use node::{Node, NodeBuilder};
34#[cfg(feature = "storage")]
35pub use storage::GraphStorage;
36pub use transaction::{IsolationLevel, Transaction, TransactionManager};
37pub use types::{EdgeId, Label, NodeId, Properties, PropertyValue, RelationType};
38
39// Re-export hybrid query types when available
40#[cfg(not(feature = "minimal"))]
41pub use hybrid::{
42    EmbeddingConfig, GnnConfig, GraphNeuralEngine, HybridIndex, RagConfig, RagEngine,
43    SemanticSearch, VectorCypherParser,
44};
45
46// Re-export distributed types when feature is enabled
47#[cfg(feature = "distributed")]
48pub use distributed::{
49    Coordinator, Federation, GossipMembership, GraphReplication, GraphShard, RpcClient, RpcServer,
50    ShardCoordinator, ShardStrategy,
51};
52
53#[cfg(test)]
54mod tests {
55    #[test]
56    fn test_placeholder() {
57        // Placeholder test to allow compilation
58        assert!(true);
59    }
60}