Expand description
IssunDB is an embedded graph database in Rust.
Visit the project repository for documentation and examples
This is the main crate of IssunDB, and exposes the Graph type, Cypher query execution,
vector search, full-text search, and hybrid retrieval APIs. Application code, bindings,
and tools depend on this crate only; the internal crates (issundb-core, issundb-vector,
issundb-text, issundb-retrieval, and issundb-cypher) are not part of
the stable API.
§Entry Points
Graphis the central handle. Open it withGraph::open, then use its methods for node and edge CRUD, adjacency, and graph algorithms.GraphQueryExtadds Cypher execution (query,query_with_params, andexplain) toGraph.VectorGraphExtadds vector indexing and search toGraph.TextGraphExtandTextIndexExtadd full-text indexing and search.retrieve,retrieve_with, andretrieve_hybridrun hybrid retrieval over vector hits, text hits, and graph expansion.
§Working with Query Results
Query parameters and Record values use serde_json::Value. The
serde_json crate is re-exported as issundb::serde_json so
callers do not need to track a separate, version-compatible dependency.
Re-exports§
pub use serde_json;
Structs§
- Bm25
Scorer - BM25 (Okapi BM25) relevance scorer with default parameters k1 = 1.2, b = 0.75.
- Directed
Neighbor Entry - A neighbor entry with a direction flag, returned by
crate::Graph::all_neighbors. - Edge
Record - Stored in the
edgesLMDB sub-database as msgpack bytes. - Graph
- The graph database handle. Cheap to clone: all state is behind
Arc. - Hit
- A single result from vector search.
- Hybrid
Retrieve Options - Options for
retrieve_hybrid. - Neighbor
Entry - The result of a single adjacency lookup entry returned by
crate::Graph::out_neighborsandcrate::Graph::in_neighbors. - Node
Record - Stored in the
nodesLMDB sub-database as msgpack bytes. - Procedure
- A table-backed procedure.
rowseach containinputs.len() + outputs.len()cells: the first segment matches the declared inputs, the second the outputs. - Procedure
Registry - A runtime registry of procedures available to
CALL. - Query
Result - The tabular result of a Cypher query execution.
- ReadTxn
- A read-only transaction on the graph.
- Record
- An individual row in the query result table.
- Retrieve
Options - Options for
retrieve_with. - Subgraph
- A subgraph extracted by a retrieval call.
- TextHit
- A single ranked full-text search result.
- Text
Search Options - Options for full-text search.
- TfIdf
Scorer - TF-IDF relevance scorer. Lighter than BM25; no length normalization.
- Triangle
Count Spec - Pattern description for
Graph::count_triangle_cycles: the directed cycle(a)-[t1]->(b)-[t2]->(c)-[t3]->(a)with an optional relationship type per hop and an optional label per node variable.Nonemeans unconstrained. - Vector
Index Options - Construction options for
VectorIndex. - Vector
Search Options - Options for
vector_search_with. - Weighted
Path - A path with an associated total weight, returned by weighted path algorithms.
- Write
Txn - A read-write transaction on the graph.
Enums§
- Boolean
Mode - Boolean candidate-set filtering for multi-term queries.
- Cypher
Error - Structured query engine errors representing all parsing, optimization, planning, and runtime execution faults.
- Cypher
Type - The declared Cypher type of a procedure argument or output field.
- Degree
Direction - The direction of edges to count for degree centrality.
- Error
- Fusion
Strategy - Strategy for fusing vector and text relevance scores.
- Language
- Supported languages for Full-Text Search indexing and stemming.
- Prop
Value - A typed property value used in index lookups and range queries.
- Retrieval
Error - Structured errors representing all hybrid retrieval faults.
- Text
Error - Vector
Error - Structured errors representing all vector search and indexing faults.
- Vector
Metric - Distance metric for the HNSW index.
- Vector
Quantization - Quantization format for in-memory vector storage.
Traits§
- Graph
Query Ext - Extension trait to execute Cypher queries on the
Graphhandle. - Scorer
- Relevance scoring strategy for full-text search.
- Text
Graph Ext - Full-text search operations for
Graph. - Text
Index Ext - Text index lifecycle operations for
Graph. - Vector
Graph Ext - Vector search operations for
Graph.
Functions§
- retrieve
- Convenience wrapper: vector search to k seeds, then
hops-hop BFS expansion to subgraph materialization. - retrieve_
hybrid - Hybrid retrieval: merges vector search seeds with full-text search seeds,
fuses their scores using
opts.fusion, then expands via BFS. - retrieve_
with - Full retrieve with configurable options.