docs.rs failed to build sekejap-0.4.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
sekejap-0.1.8
Sekejap DB
A graph-first, embedded multi-model database engine for Rust and Python.
Graph is the primary structure. Vector, Spatial, and Full-Text are first-class attributes on nodes, queryable in the same pipeline. Runs in-process — zero network overhead.
Features
- Graph-First: Edges are first-class. Queries traverse the graph to prune the search space before applying other indexes.
- HNSW Engine: Parallel construction (Rayon), NEON/AVX2 SIMD CosineDistance,
ef_construction=32. 44x faster batch build vs v0.2. - Spatial (PostGIS-par): R-Tree index on full GeoJSON geometry envelopes. Point, Polygon, LineString, Multi* — with DE-9IM predicates (
st_within,st_contains,st_intersects,st_dwithin). - Full-Text: Pluggable adapters — Tantivy (default) or SeekStorm.
- Embedded: Memory-mapped arenas, zero-copy storage.
- SekejapQL: Lightweight text query language — one op per line, compiles to the same pipeline as JSON.
- CLI: Interactive REPL (
skcli) — SekejapQL and JSON queries, mutations, introspection.
Quick Start
Python
=
# Write
# Query — SekejapQL
=
Rust
use SekejapDB;
let db = new?;
db.init_hnsw;
db.init_fulltext;
db.nodes.put?;
db.edges.link?;
// SekejapQL (auto-detected — anything not starting with '{')
let result = db.query?;
// JSON pipeline (auto-detected — starts with '{')
let result = db.query?;
// Fluent builder (Rust only)
let result = db.nodes.collection
.where_eq
.near
.take
.collect?;
SekejapQL — One Op Per Line
# Find all gang members → their crimes → near a location
one "persons/lucci"
forward "member_of"
backward "member_of"
forward "committed"
near 3.1291 101.6710 2.0
sort "severity" desc
take 10
select "type" "severity" "occurred_at"
# News → crime → suspect network inside a polygon
collection "articles"
matching "armed robbery Bangsar 2024"
forward "reported_by"
backward "committed"
forward "member_of"
backward "member_of"
spatial_within_polygon (3.128,101.665) (3.135,101.665) (3.135,101.678) (3.128,101.678) (3.128,101.665)
where_eq "status" "wanted"
select "name" "alias" "geo" "priors"
# PostGIS-par geometry predicates
collection "zones"
st_intersects (3.128,101.665) (3.128,101.678) (3.135,101.678) (3.135,101.665) (3.128,101.665)
Pipe style also works: collection "crimes" | where_eq "type" "robbery" | near 3.1 101.6 1.0 | take 20
CLI (skcli)
| |
|
|
Benchmark (10k Records, Apple Silicon)
| Operation | SQLite (Rust) | Sekejap (Rust) | Speedup |
|---|---|---|---|
| Simple retrieval (1k lookups) | 3.4ms | 1.9ms | 1.8x |
| Vector retrieval (k-NN) | 9.3ms | 0.3ms | 31x |
| Graph traversal (100x 3-hop) | 8.5ms | 1.1ms | 7.7x |
| V+S retrieval | 5.3ms | 1.7ms | 3.1x |
| V+F retrieval | 3.7ms | <0.1ms | instant |
See docs/benchmark-results.md for full Rust vs Python results and methodology.
Full Documentation
See the docs/ folder:
docs/api-reference.md— Complete API reference (setup, schema, mutations, all SekejapQL ops, JSON pipeline, data conventions, performance)docs/interface-table.md— Interface inventory and statusdocs/roadmap.md— Development roadmap and execution notesdocs/benchmark-results.md— Benchmark results (Rust vs Python vs SQLite)
Build
# CLI
# Python wheel
License
MIT