API reference¶
The stable surface — kglite::api::* — that gets semver
guarantees. Items outside this surface (kglite::graph::*,
kglite::datatypes::*, etc.) are implementation details and may
move between minor releases.
For per-symbol API docs (function signatures, struct fields, trait method docs), use docs.rs/kglite. This page is the curated inventory.
Engine types¶
Item |
Path |
Purpose |
|---|---|---|
|
|
The in-memory graph. Owned by your binding’s “graph handle”. |
|
|
Every value Cypher can return: scalars, |
|
|
Per-variant carriers; pattern-match into them without deriving accessors. |
|
|
Typed error enum (16 variants). Map to your binding’s error idiom. File I/O: |
|
|
Pluggable text-embedding backend for |
|
|
Rust-native ONNX embedder. |
|
|
Code-entity location lookup result types. |
|
|
Codebase exploration as a markdown report. |
I/O¶
Item |
Path |
Purpose |
|---|---|---|
|
|
Read a |
|
|
Load an in-memory graph from a |
|
|
Write an |
|
|
Atomic (temp+rename) + durable ( |
|
|
Serialize the |
|
|
Parse a source tree → |
DirGraph::copy_embeddings_from(&src) carries embedding stores across a rebuild
by node id (the core behind the Python copy_embeddings_from). The other new
0.11.0 methods — embedding_info / embedding_dim, replace_connections,
embed_texts(mode=…), freeze — are binding-surface (Python KnowledgeGraph)
methods, documented in the Python track, not raw kglite::api functions.
Schema introspection¶
Item |
Path |
Purpose |
|---|---|---|
|
|
XML schema description for agent system prompts. |
|
|
Structured |
|
|
Structured introspection types. |
Cypher pipeline (kglite::api::cypher)¶
For building custom pipelines. For the canonical pipeline, use
the session module instead.
Item |
Purpose |
|---|---|
|
Parse a query string → |
|
Schema-check a parsed query against a graph. |
|
Lower |
|
Mark queries eligible for streaming materialization. |
|
Run the optimizer passes; introspect the pipeline. |
|
Execute a planned query against a graph. |
|
Mutation execution path. |
|
Heuristic: does this query mutate? |
|
Build an EXPLAIN-style plan as a CypherResult. |
|
Data types. |
Session (canonical query + transaction surface)¶
The Phase E “single source of truth” — all bindings flow through here.
Item |
Path |
Purpose |
|---|---|---|
|
|
Shared graph state with commit-swap semantics. |
|
|
Snapshot/working CoW transaction state. |
|
|
|
|
|
Params + deadline + max_rows + lazy hint + embedder. |
|
|
|
|
|
Run a read query. |
|
|
Run a mutation. |
Dataset loaders (feature-gated)¶
kglite = { features = ["sec", "sodir", "wikidata"] }
Feature |
Module |
What it loads |
|---|---|---|
|
|
SEC EDGAR filings (quarterly index, bulk submissions, Form 4 / 13F, Exhibit 21, 8-K). |
|
|
Norwegian Continental Shelf petroleum data (Sodir FactMaps REST). |
|
|
Wikimedia |
Each submodule re-exports the same surface the Python wheel uses
via _sec_internal / _sodir_internal / _wikidata_internal:
workdir + storage-mode types, error + Result aliases, the HTTP
client, the async fetch entry points, and (for SEC) the extract
pipeline + size-prediction helpers. All fetch_* entries are
async — bindings need a tokio runtime to drive them.
Lifecycle orchestration (cache short-circuit, mode selection,
retry budgets) is NOT in core. Each binding wraps the building
blocks in its own language idiom; the Python wheel’s wrappers
(kglite/datasets/*/wrapper.py) are the reference implementation.
See implementing-a-binding.md →
“Wrapping a dataset for your binding”.
Polars-io style: opt in only to what you use.
Semver¶
kglite::api::* items above get semver guarantees within a minor
release. Anything outside that surface — kglite::graph::*,
kglite::datatypes::*, raw module paths — is internal and may
move freely between minor releases.
Change kind |
Bumps |
|---|---|
New item in |
Minor ( |
Breaking change to an item already in |
Major ( |
Internal rearrangement (non-api items) |
Patch ( |
The .kgl file format has its own version (v3, v4, …)
tracked separately. Format bumps land with their decoder and
require a graph rebuild from source.
Where to find each item¶
kglite:: (the crate root)
├── api:: (this stable surface)
│ ├── cypher:: (parse / plan / execute primitives)
│ └── session:: (canonical Cypher pipeline + transactions)
├── datasets:: (sec / sodir / wikidata, feature-gated)
├── datatypes:: (internal — use api::Value)
├── error (internal — use api::KgError)
├── graph:: (internal — engine submodules)
└── code_tree:: (internal — use api::build_code_tree)