Skip to main content

nova_boot_graphdb/
lib.rs

1//! Graph database abstractions and store implementations for Nova.
2//!
3//! This crate provides a small adapter layer over different graph database
4//! backends (Neo4j, Surreal, in-memory). It exposes a `NovaGraphDb` wrapper
5//! that application handlers can extract to execute queries, upsert nodes and
6//! edges, and traverse subgraphs. The crate also supplies lightweight
7//! builders and types used across adapters.
8
9// Embed example source in crate docs so users can view runnable examples
10// directly in rustdoc.
11#![doc = concat!("\n\n# Example: simple\n\n```rust\n", include_str!("../examples/simple.rs"), "\n```\n")]
12
13pub mod builders;
14pub mod error;
15pub mod memory;
16pub mod neo4j;
17pub mod plugin;
18pub mod surreal;
19pub mod traits;
20pub mod types;
21pub mod wrapper;
22
23pub use builders::{CypherQueryBuilder, GraphQlQueryBuilder};
24pub use error::GraphDbError;
25pub use memory::InMemoryGraphStore;
26pub use neo4j::Neo4jGraphStore;
27pub use surreal::SurrealGraphStore;
28pub use traits::GraphStore;
29pub use types::{GraphEdge, GraphNode, GraphQuery, GraphSubgraph};
30pub use wrapper::{NovaGraphDb, graph_to_json};
31
32#[cfg(test)]
33mod tests;
34
35mod extractors;
36pub use extractors::NovaGraph;