Expand description
Graph engine for property graphs with nodes, edges, and traversal algorithms.
This crate provides a thread-safe graph database engine supporting:
- Labeled nodes with arbitrary properties
- Directed and undirected edges with properties
- Property indexes for efficient lookups
- Unique and existence constraints
- Graph algorithms (
PageRank, betweenness centrality, connected components) - BFS/DFS traversal with filtering
- Batch operations for high-throughput scenarios
§Thread Safety
GraphEngine is thread-safe and can be shared across threads using Arc.
All operations use fine-grained locking via parking_lot::RwLock.
Re-exports§
pub use algorithms::AStarConfig;pub use algorithms::AStarResult;pub use algorithms::BiconnectedConfig;pub use algorithms::BiconnectedResult;pub use algorithms::HeuristicFn;pub use algorithms::KCoreConfig;pub use algorithms::KCoreResult;pub use algorithms::MstConfig;pub use algorithms::MstEdge;pub use algorithms::MstResult;pub use algorithms::SccConfig;pub use algorithms::SccResult;pub use algorithms::SimilarityConfig;pub use algorithms::SimilarityMetric;pub use algorithms::SimilarityResult;pub use algorithms::TriangleConfig;pub use algorithms::TriangleResult;pub use distributed::CrossShardQuery;pub use distributed::DistributedConfig;pub use distributed::DistributedError;pub use distributed::DistributedGraphEngine;pub use distributed::DistributedResult;pub use distributed::DistributedStats;pub use distributed::DistributedStatsSnapshot;pub use distributed::DistributedTransaction;pub use distributed::GraphOperation;pub use partitioning::GraphPartitioner;pub use partitioning::PartitionAssignment;pub use partitioning::PartitionConfig;pub use partitioning::PartitionStats;pub use partitioning::PartitionStrategy;pub use partitioning::ShardId;
Modules§
- algorithms
- Graph algorithms module.
- distributed
- Distributed graph engine abstractions for consensus and coordination.
- partitioning
- Graph partitioning strategies for distributed graph operations.
Structs§
- Aggregate
Result - Result of an aggregation operation on graph data.
- AllPaths
- Collection of all shortest unweighted paths between two nodes.
- AllPaths
Config - Configuration for all-paths search to prevent memory explosion.
- AllWeighted
Paths - Collection of all shortest weighted paths between two nodes.
- Batch
Delete Result - Batch delete result with failure tracking.
- Batch
Result - Result of a batch operation.
- Centrality
Config - Configuration for centrality algorithms.
- Centrality
Result - Result of centrality computation.
- Community
Config - Configuration for community detection algorithms.
- Community
Result - Result of community detection.
- Constraint
- A constraint definition for property validation.
- Edge
- Edge
Input - Input for batch edge creation.
- Edge
Pattern - An edge pattern that matches edges by type and/or property conditions.
- Full
Text Config - Configuration for full-text index.
- Full
Text Index - Full-text search index using an inverted index structure.
- GeoConfig
- Configuration for geospatial index.
- GeoIndex
- Geospatial index using a grid-based structure.
- GeoPoint
- A geospatial point.
- Graph
Batch Item Error - Error detail for a failed item in a graph batch operation.
- Graph
Engine - Lock ordering (acquire in this order to prevent deadlocks):
- Graph
Engine Config - Configuration for
GraphEngineruntime behavior. - Node
- Node
Input - Input for batch node creation.
- Node
Pattern - A node pattern that matches nodes by label and/or property conditions.
- Ordered
Float - Wrapper for f64 that provides total ordering (NaN sorts first).
- Page
Rank Config - Configuration for
PageRankalgorithm. - Page
Rank Result - Result of
PageRankcomputation. - Paged
Result - Result of a paginated graph query.
- Pagination
- Pagination configuration for graph queries.
- Path
- Path
Pattern - A path pattern:
(a)-[r]->(b)-[s]->(c) - Path
Search Stats - Statistics from path search.
- Pattern
- A complete pattern query.
- Pattern
Match - A single match with all variable bindings.
- Pattern
Match Result - Result of pattern matching operation.
- Pattern
Match Stats - Statistics from pattern matching.
- Property
Condition - A single property condition for filtering nodes or edges during traversal.
- Traversal
Filter - Filter configuration for graph traversal operations.
- Variable
Length Config - Configuration for variable-length path traversal.
- Variable
Length Paths - Result of variable-length path search.
- Variable
Length Spec - Variable-length path specification (e.g., *1..5).
- WalConfig
- WAL configuration.
- Weighted
Path - A path with accumulated edge weights from Dijkstra’s algorithm.
Enums§
- Binding
- A binding of a variable to a graph element.
- Centrality
Type - Type of centrality measure.
- Compare
Op - Comparison operator for property conditions during traversal.
- Constraint
Target - Target scope of a constraint.
- Constraint
Type - Type of constraint enforcement.
- Direction
- Graph
Error - Error type for graph operations.
- Index
Target - Target of an index (node or edge properties).
- Ordered
Property Value - Property value with total ordering for
BTreeMapindexes. - Pattern
Element - An element in a path pattern.
- Property
Value - A typed property value for nodes and edges.
- Property
Value Type - Property value type for type constraints.
- RangeOp
- Range comparison operator for property queries.
Constants§
- MAX_
VARIABLE_ LENGTH_ HOPS - Maximum hops for variable-length edge patterns (safety cap for
VariableLengthSpec).
Type Aliases§
- Result
- Result type alias for graph operations.