pub enum SectionKind {
Metadata,
Dictionary,
Index,
PyramidMeta,
NamedGraphs,
TextIndex,
TextIndexPartial,
BuildInfo,
LabelIndex,
Schema,
QuadIndex,
Unknown(u16),
}Expand description
A top-level file section, addressed by SectionKind in the header directory.
Variants§
Metadata
Dataset-card metadata.
Dictionary
Dictionary container (front-coded term sections).
Index
Permutation index container (SPO/POS/OSP).
PyramidMeta
Community + schema pyramid metadata.
NamedGraphs
Named-graphs section.
TextIndex
Full-text (word) index over literals — token → subjects.
TextIndexPartial
A full-text index that covers only some predicates
(rete build --text-index-include/--text-index-exclude): the same
layout as SectionKind::TextIndex, under its own kind so that a
reader which predates text-index scopes does not see it at all. Such a
reader prunes FILTER(CONTAINS(…)) with any text index it finds, as if
the index covered every literal; with this one it would silently drop
the rows of the predicates left out. Not seeing it, it scans instead.
The header maps it onto the same text_index_* fields, with
Header::text_index_partial set. Like kinds 8 and 9 it is outside
the content hash — an older verify, which cannot see it, must not
call the file corrupt — and starts with its own 16-byte digest
([TEXT_INDEX_PARTIAL_DIGEST_LEN]) instead; the kind-6 layout follows
it (Header::text_index_payload).
BuildInfo
Build-conditions record (timestamp, builder version, build parameters,
measured starter-query costs), stored as an opaque JSON blob owned by the
application layer (the CLI). Deliberately excluded from the content
hash: two builds of identical data must hash identically, and this
section is exactly the per-build facts (when, by which binary, how fast)
that differ between them. verify therefore does not cover it.
LabelIndex
The range-readable label index (rete build --label-index): every
labelled subject’s display label, sorted for prefix search, as a
multi-level table a reader walks with a few small range reads. See
crate::label_index. Optional; outside the content hash and
self-digested (SPEC §6.4).
Schema
The schema section: the class hierarchy, the per-level type rollups
and lateral class links, the coherence axioms, the planner’s
query_stats and the characteristic sets — computed without the
community dendrogram. See crate::schema_section. Optional; outside
the content hash and self-digested (SPEC §7.5).
QuadIndex
The quad index (kind 10): every named-graph quad in graph-leading
permutations behind a sorted graph directory. Present exactly when the
header has [FLAG_QUAD_INDEX]. Kept in Header::extra_sections like
an unknown kind (it has no named convenience fields).
Unknown(u16)
A section kind this build doesn’t know — preserved verbatim on round-trip so a newer writer’s sections survive an older reader.
Trait Implementations§
Source§impl Clone for SectionKind
impl Clone for SectionKind
impl Copy for SectionKind
Source§impl Debug for SectionKind
impl Debug for SectionKind
impl Eq for SectionKind
Source§impl PartialEq for SectionKind
impl PartialEq for SectionKind
impl StructuralPartialEq for SectionKind
Auto Trait Implementations§
impl Freeze for SectionKind
impl RefUnwindSafe for SectionKind
impl Send for SectionKind
impl Sync for SectionKind
impl Unpin for SectionKind
impl UnsafeUnpin for SectionKind
impl UnwindSafe for SectionKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more