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 property;
15pub mod storage;
16pub mod transaction;
17pub mod types;
18
19// Performance optimization modules
20pub mod optimization;
21
22// Vector-graph hybrid query capabilities
23pub mod hybrid;
24
25// Distributed graph capabilities
26#[cfg(feature = "distributed")]
27pub mod distributed;
28
29// Core type re-exports
30pub use edge::{Edge, EdgeBuilder};
31pub use error::{GraphError, Result};
32pub use graph::GraphDB;
33pub use hyperedge::{Hyperedge, HyperedgeBuilder, HyperedgeId};
34pub use node::{Node, NodeBuilder};
35#[cfg(feature = "storage")]
36pub use storage::GraphStorage;
37pub use transaction::{IsolationLevel, Transaction, TransactionManager};
38pub use types::{EdgeId, Label, NodeId, Properties, PropertyValue, RelationType};
39
40// Re-export hybrid query types when available
41#[cfg(not(feature = "minimal"))]
42pub use hybrid::{
43    EmbeddingConfig, GnnConfig, GraphNeuralEngine, HybridIndex, RagConfig, RagEngine,
44    SemanticSearch, VectorCypherParser,
45};
46
47// Re-export distributed types when feature is enabled
48#[cfg(feature = "distributed")]
49pub use distributed::{
50    Coordinator, Federation, GossipMembership, GraphReplication, GraphShard, RpcClient, RpcServer,
51    ShardCoordinator, ShardStrategy,
52};
53
54#[cfg(test)]
55mod tests {
56    #[test]
57    fn test_placeholder() {
58        // Placeholder test to allow compilation
59        assert!(true);
60    }
61}