Skip to main content

Module graph

Module graph 

Source
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§

GraphEdge
A directed edge with an optional weight (RFC #81-P3).
GraphReadOptions
Options for the graph read path (#108).
GraphSource
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.
GraphWriteOptions
Options for crate::traits::backend::StorageBackend::save_graph_with.
StoredGraph
A graph collection loaded back from storage (RFC #81-P3).

Enums§

NodeIdWidth
Node-id storage width of a graph collection.
WeightType
Edge-weight storage width of a graph collection, mirroring NodeIdWidth (#106): the width is schema-declared through GraphWriteOptions::weight_type, resolving the RFC #81 open question (“Float64 only, or allow Float32?”) with “both, schema-declared”.