Skip to main content

grafeo_core/
lib.rs

1//! # grafeo-core
2//!
3//! The core data structures behind Grafeo. You'll find graph storage, indexes,
4//! and the execution engine here.
5//!
6//! Most users don't need this crate directly - use `grafeo` or `grafeo-engine`
7//! instead. But if you're building algorithms or need low-level access, this
8//! is where the action is.
9//!
10//! ## Modules
11//!
12//! - [`cache`] - Caching utilities: second-chance LRU
13//! - [`graph`] - Graph storage: LPG (labeled property graph) and RDF triple stores
14//! - [`index`] - Fast lookups: hash, B-tree, adjacency lists, tries
15//! - [`execution`] - Query execution: data chunks, vectors, operators
16//! - [`statistics`] - Cardinality estimates for the query optimizer
17//! - [`codec`] - Compression: dictionary encoding, bit-packing, delta encoding
18
19#![deny(unsafe_code)]
20
21pub mod cache;
22pub mod codec;
23pub mod execution;
24pub mod graph;
25pub mod index;
26pub mod statistics;
27pub mod testing;
28
29// Re-export the types you'll use most often
30pub use codec::{DictionaryBuilder, DictionaryEncoding};
31#[cfg(feature = "lpg")]
32pub use graph::lpg::LpgStore;
33pub use graph::lpg::{Edge, Node};
34pub use index::adjacency::ChunkedAdjacency;
35pub use statistics::{ColumnStatistics, Histogram, LabelStatistics, Statistics};