Expand description
§Vlajmaji
An umbrella library for Vlajmaji, a
source-preserving (Re)Lojban dictionary workbench. It re-exports its libraries
as vlajmaji::lexicon, vlajmaji::store, and vlajmaji::search.
§Component crates
| Crate | Role | Documentation |
|---|---|---|
| vlajmaji-lexicon | Source registry, versioned dictionary models, original bytes, provenance, imports, and archives. | API docs |
| vlajmaji-store | SQLite dictionary persistence, rebuildable FTS5 indexes, and an optional Oxigraph/RocksDB backend. | API docs |
| vlajmaji-search | Source-grouped dictionary lookup, spelling distance, phonological/prosodic filters, and optional compound analysis. | API docs |
| vlajmaji-cli | The separately installed vlajmaji JSON command-line tool. | CLI guide |
Use this crate for the umbrella namespace, or depend on component crates directly. The CLI package is installed separately from the library. The underlying phonology comes from bauske-phonology (API docs).
§Use as a library
[dependencies]
vlajmaji = "0.2.0"§Example
Open an existing dictionary store and retrieve exact, source-grouped assertions:
use vlajmaji::search::{DictionaryExactOptions, DictionarySearchEngine};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let engine = DictionarySearchEngine::open("dictionary-store")?;
let result = engine.exact("farvi", DictionaryExactOptions::default())?;
println!("{} source occurrences", result.totals.occurrences);
Ok(())
}Corpus data is not bundled. See the migration and replay guide for importing research inputs and building a store. Records keep competing source assertions separate; computed scores and generated compounds do not establish attested usage or semantic equivalence.
§Optional features
The umbrella library enables no optional features by default.
morphologyenables compound decomposition and generation throughvlajmaji-searchandlatkerlo-jvotci.graphenables the Oxigraph/RocksDB backend throughvlajmaji-store. It requires native C++ and Clang/libclang build tooling.
These features can be enabled independently or together. The CLI package enables
morphology separately; that does not change this library’s defaults for callers
that depend only on vlajmaji.
Requires Rust 1.98 or newer. Licensed under Apache-2.0; corpus content terms remain separate from the code license.
For the versioned dictionary APIs, see the dictionary model guide and source-grouped lookup guide.
Modules§
- lexicon
- Source-preserving lexical records, imports, and archives. A source-preserving envelope for captured lexical material.
- search
- Lexical queries and computed spelling, sound, and compound analyses. Source-preserving lexical queries and bounded phonological filters.
- store
- Rebuildable SQLite indexes and the optional graph backend. Concrete local persistence for the accepted source-preserving lexical archive.