1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! Graph model implementations.
//!
//! Pick your graph model:
//!
//! | Model | When to use | Example use case |
//! | ----- | ----------- | ---------------- |
//! | [`lpg`] | Most apps (default) | Social networks, fraud detection |
//! | [`compact`] | Read-heavy / embedded (feature-gated: `compact-store`) | WASM, edge workers, static snapshots |
//! | [`rdf`] | Knowledge graphs | Ontologies, linked data (feature-gated) |
//!
//! These are separate implementations with no abstraction overhead - you get
//! the full performance of whichever model you choose.
pub use ;
/// Controls which edges to follow during traversal.
///
/// Most graph operations need to specify direction. Use [`Outgoing`](Self::Outgoing)
/// when you care about relationships *from* a node, [`Incoming`](Self::Incoming) for
/// relationships *to* a node, and [`Both`](Self::Both) when direction doesn't matter.