Expand description
First-class graph storage types (RFC #81-P3).
The canonical on-disk layout is an edge-list Lance dataset:
src: UInt32|UInt64, dst: UInt32|UInt64 and an optional
weight: Float32|Float64 column (all non-null). Node-id and weight
widths are schema-chosen — u32 node-id and f64 weight defaults,
u64/f32 opt-ins (#106) — and declare the storage limits
explicitly rather than narrowing silently (consistent with #51).
Weights are persisted faithfully — the storage layer makes no domain
assumptions, so normalization transforms belong to the producer; the
opt-in GraphWriteOptions::weight_range asserts compliance with a
declared interval instead. CsMat CSR conversion stays at the API
boundary (StoredGraph::to_csr); sprs never reaches the format
layer.
Structs§
- Graph
Edge - A directed edge with an optional weight (RFC #81-P3).
- Graph
Read Options - Options for the graph read path (#108).
- Graph
Source - Declared source lineage of a graph collection (#140): the name of the
vector-space collection the graph was built from and its row count at
build time. Resolve it through
Catalog::graph_source— never hand- build rows from stale facts. - Graph
Write Options - Options for
crate::traits::backend::StorageBackend::save_graph_with. - Stored
Graph - A graph collection loaded back from storage (RFC #81-P3).
Enums§
- Node
IdWidth - Node-id storage width of a graph collection.
- Weight
Type - Edge-weight storage width of a graph collection, mirroring
NodeIdWidth(#106): the width is schema-declared throughGraphWriteOptions::weight_type, resolving the RFC #81 open question (“Float64 only, or allow Float32?”) with “both, schema-declared”.