oxgraph-csc 0.4.1

Borrowed compressed-sparse-column (inbound) graph views over snapshot sections.
Documentation

oxgraph-csc

Borrowed compressed-sparse-column (inbound) graph views over snapshot sections.

crates.io docs.rs License: MIT

The reverse-traversal counterpart to oxgraph-csr in the oxgraph crate family. no_std, unsafe-free.

What it is

oxgraph-csc provides inbound adjacency: predecessor traversal over a graph whose incoming edges are stored as CSR-on-transposed-edges in snapshot sections. It is a separate crate from oxgraph-csr on purpose, so forward and inbound views cannot be mixed at the type level.

The view is storage-agnostic. It owns no section-kind constants and reads whatever offsets/targets kinds the caller supplies through CscSnapshotGraph::from_snapshot_with_kinds; the storage layer that persists the inbound index (for example the Postgres engine) owns the section-kind constants and the section version. Opening a snapshot-backed view validates the layout once, O(s + n + m) per engine load; traversal after that is slice indexing.

Where it sits

oxgraph-graph                     node/edge capability traits
└── oxgraph-csc                 ← this crate (borrowed inbound layout)
    ├── wraps oxgraph-csr over transposed edges
    ├── reads caller-supplied oxgraph-snapshot sections
    └── consumed by oxgraph-postgres for reverse traversal

Documentation

See docs.rs/oxgraph-csc for the full API (oxgraph-postgres is the reference consumer) and the oxgraph family README for how the layers fit together. Also available through the umbrella crate: cargo add oxgraph --features csc.

License

MIT. See LICENSE.