Skip to main content

Crate oxgraph_property

Crate oxgraph_property 

Source
Expand description

Arrow-backed named property layers for OxGraph topology views.

oxgraph-property is a higher layer than topology. It stores named typed Arrow arrays keyed by topology ID family and adapts selected total primitive layers into topology weight capabilities. Foundation crates do not depend on this crate, Arrow, or named properties.

§Module layout

The crate is split into focused modules and re-exports its full public API from this facade:

ModuleResponsibility
widthIndex/metadata width contracts, axis markers, section-kind constants
modelLayer data model, error type, identity records
weightsDense/sparse topology weight adapters and layer partitions
rekeyDescriptor uniqueness checks and canonical-to-local rekeying
snapshotSnapshot encode/validate/decode and wire records

§Snapshot section kinds

Constant familyBaseDescription
PROPERTY_DESCRIPTORSSNAPSHOT_KIND_PROPERTY_DESCRIPTORS_BASEPer-layer descriptor records (header + records + string table)
PROPERTY_DATASNAPSHOT_KIND_PROPERTY_DATA_BASEConcatenated Arrow IPC value and sparse-default streams

Each persisted kind is BASE | WIDTH_CODE, where the two-bit width code (0b00 = u16, 0b01 = u32, 0b10 = u64) selects the descriptor metadata word width; PropertySnapshotMetaWord derives the per-width kinds. The payload format is owned by this crate and remains an OxGraph-internal ABI candidate while the snapshot bytes are not stable. All section-kind constants are perf: unspecified — compile-time u32 tags.

Re-exports§

pub use model::IdFamily;
pub use model::IdentityMapMode;
pub use model::IdentityModeRecord;
pub use model::IdentityModeSummary;
pub use model::IdentitySnapshotSummary;
pub use model::LayerId;
pub use model::LayerName;
pub use model::LayerRole;
pub use model::MissingPolicy;
pub use model::PropertyError;
pub use model::PropertyLayer;
pub use model::PropertyLayerData;
pub use model::PropertyLayerDescriptor;
pub use model::StorageMode;
pub use rekey::rekey_layer_to_local;
pub use rekey::validate_unique_layer_ids;
pub use rekey::validate_unique_names;
pub use snapshot::DecodedPropertyData;
pub use snapshot::DecodedPropertyLayer;
pub use snapshot::EncodedPropertySnapshot;
pub use snapshot::PropertySnapshotRecord;
pub use snapshot::PropertySnapshotSummary;
pub use snapshot::encode_graph_property_snapshot;
pub use snapshot::encode_hyper_property_snapshot;
pub use snapshot::encode_property_snapshot;
pub use snapshot::validate_identity_snapshot;
pub use snapshot::validate_property_sections;
pub use snapshot::validate_property_snapshot;
pub use weights::DenseWeights;
pub use weights::GraphPropertyLayers;
pub use weights::HyperPropertyLayers;
pub use weights::SparseWeights;
pub use width::AxisIndex;
pub use width::ElementAxis;
pub use width::IncidenceAxis;
pub use width::PropertyAxis;
pub use width::PropertyIndex;
pub use width::PropertySnapshotMetaWord;
pub use width::RelationAxis;
pub use width::SNAPSHOT_KIND_ELEMENT_IDENTITY_MAP_BASE;
pub use width::SNAPSHOT_KIND_IDENTITY_MODES_BASE;
pub use width::SNAPSHOT_KIND_INCIDENCE_IDENTITY_MAP_BASE;
pub use width::SNAPSHOT_KIND_PROPERTY_DATA_BASE;
pub use width::SNAPSHOT_KIND_PROPERTY_DESCRIPTORS_BASE;
pub use width::SNAPSHOT_KIND_RELATION_IDENTITY_MAP_BASE;
pub use width::SNAPSHOT_PROPERTY_VERSION;

Modules§

export
Shared snapshot-export helpers for topology builders that attach property layers.
model
Core property-layer data model, error type, and shared validation helpers.
rekey
Descriptor-set uniqueness checks and canonical-to-local layer rekeying.
snapshot
Property and identity snapshot encoding, validation, and decoding.
weights
Topology weight adapters over selected primitive property layers.
width
Property index width contracts, per-axis markers, and metadata-word codecs.