Why KnitKnot?
Most graph databases are heavy and complex. KnitKnot is different:
- CLI-first: Query interactively like SQLite
- Fluent DSL: Write expressive queries:
Find('User').Has('skill', 'Go')
- Embeddable: Use as a Go library or standalone tool
- File-based: No server needed — data saved to
.gob
Quick Start
Install via Go:
go install github.com/aprksy/knitknot@latest
Start the REPL:
knitknot repl
Run your first query:
knitknot> Find('User').Has('has_skill', 'Go')
Features
REPL Shell
Interactive exploration with history, syntax highlighting, and EXPLAIN
.
Custom Verbs
Define your own semantics: DEFINE teaches TO Course VIA code
Persistence
Save/load full state including verbs and subgraphs.
Visualize
Export to DOT format and render with Graphviz.
Interactive Syntax Demo
Try editing the query below and see it in action:
Find('User').Where('n.age', '>', 30).Limit(5)
Project Status
KnitKnot is currently in MVP stage and is in heavy development in every part
Get Involved
KnitKnot is open-source and welcomes contributions!