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 familyDescription
PROPERTY_DESCRIPTORS_*Per-layer descriptor records (header + records + string table)
PROPERTY_DATA_*Concatenated Arrow IPC value and sparse-default streams

The _U16 / _U32 / _U64 suffix selects the descriptor metadata word width. The payload format is owned by this crate and remains an OxGraph-internal ABI candidate while snapshot v1 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_U16;
pub use width::SNAPSHOT_KIND_ELEMENT_IDENTITY_MAP_U32;
pub use width::SNAPSHOT_KIND_ELEMENT_IDENTITY_MAP_U64;
pub use width::SNAPSHOT_KIND_IDENTITY_MODES_U16;
pub use width::SNAPSHOT_KIND_IDENTITY_MODES_U32;
pub use width::SNAPSHOT_KIND_IDENTITY_MODES_U64;
pub use width::SNAPSHOT_KIND_INCIDENCE_IDENTITY_MAP_U16;
pub use width::SNAPSHOT_KIND_INCIDENCE_IDENTITY_MAP_U32;
pub use width::SNAPSHOT_KIND_INCIDENCE_IDENTITY_MAP_U64;
pub use width::SNAPSHOT_KIND_PROPERTY_DATA_U16;
pub use width::SNAPSHOT_KIND_PROPERTY_DATA_U32;
pub use width::SNAPSHOT_KIND_PROPERTY_DATA_U64;
pub use width::SNAPSHOT_KIND_PROPERTY_DESCRIPTORS_U16;
pub use width::SNAPSHOT_KIND_PROPERTY_DESCRIPTORS_U32;
pub use width::SNAPSHOT_KIND_PROPERTY_DESCRIPTORS_U64;
pub use width::SNAPSHOT_KIND_RELATION_IDENTITY_MAP_U16;
pub use width::SNAPSHOT_KIND_RELATION_IDENTITY_MAP_U32;
pub use width::SNAPSHOT_KIND_RELATION_IDENTITY_MAP_U64;
pub use width::SNAPSHOT_PROPERTY_VERSION;

Modules§

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.