pub struct GraphIndexBuilder { /* private fields */ }Expand description
Build a GraphIndex from canonical (s, p, o) integer triples.
Implementations§
Source§impl GraphIndexBuilder
impl GraphIndexBuilder
pub fn new() -> GraphIndexBuilder
Sourcepub fn from_triples(triples: Vec<(u32, u32, u32)>) -> GraphIndexBuilder
pub fn from_triples(triples: Vec<(u32, u32, u32)>) -> GraphIndexBuilder
Build directly from an owned triple vector — moves it in, avoiding the
per-triple push copy when the caller already has the id-triples in a
Vec (the assembly path, where they double as the pyramid input).
Sourcepub fn with_tile_budget(self, bytes: usize) -> GraphIndexBuilder
pub fn with_tile_budget(self, bytes: usize) -> GraphIndexBuilder
Override the per-tile byte budget (tests use tiny budgets to force multi-tile sections on small data).
Sourcepub fn with_perms(self, perms: PermSet) -> GraphIndexBuilder
pub fn with_perms(self, perms: PermSet) -> GraphIndexBuilder
Build only the permutations in perms (default PermSet::ALL).
Sections outside the set come out empty and are not written to the file.
pub fn push(&mut self, t: (u32, u32, u32))
Sourcepub fn build_seq(self) -> GraphIndex
pub fn build_seq(self) -> GraphIndex
Build the six permutations one at a time (each permutation’s internal
sort still uses every core), so only a single permuted copy of the triples
is resident at once instead of all six concurrently. Trades the cross-
permutation parallelism of Self::build for a much lower peak RAM — the
large-graph low-memory path. Output is byte-identical to Self::build.