Meet CognoDB: a graph brain that fits in your pocket.
Open-source graph database written in Go. Speaks Bolt (5.0, 5.4). Understands Cypher. If your code talks to Neo4j, it already talks to CognoDB — without the JVM, the daemon, the 17-second cold start, or the 3.5 GB resident footprint.
One process. Bolt in, pluggable storage out. Everything else lives in between.
The same binary becomes any of these by changing flags.
Six pillars
Every design choice flows from one premise: agent context graphs are small, numerous, ephemeral, shared, and everywhere. The engine had to be too.
One binary. Zero deps.
No JVM. No daemon. A single static Go executable. Cold start in 7 ms. Ship it the way you ship any other tool.
Light enough for the edge.
Tens of megabytes resident, not gigabytes. Run a dedicated graph per agent, per tenant, per session, even on a Raspberry Pi.
Built to scale out.
Every instance is cheap and self-contained. Scale horizontally to thousands of small isolated graphs instead of one heavyweight cluster.
Drop-in compatible.
Speaks Bolt 5.0/5.4 and Cypher. Every official Neo4j driver (Python, JS, Go, Java, .NET, Rust) connects unchanged.
ACID where it counts.
Atomic subgraph writes, MVCC, crash-safe local mode. Indexes and UNIQUE / EXISTS / NODE KEY constraints when you want them.
Pluggable storage.
In-memory, embedded local KV, or MongoDB today. Postgres, MySQL, Oracle, Cassandra on the roadmap.
Hello, context graph.
The shortest possible example: spin up an in-memory graph, write a fact, read it back. No JVM warm-up, no schema migration, no SDK install.
# terminal 1 — start the engine
./cognodb --storage memory
# terminal 2 — talk to it with any Neo4j driver
python - <<'PY'
from neo4j import GraphDatabase
d = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "x"))
with d.session() as s:
s.run("MERGE (u:User {id:'maya'})-[:KNOWS]->(:Topic {name:'graphs'})")
for r in s.run("MATCH (u:User)-[:KNOWS]->(t) RETURN u.id, t.name"):
print(dict(r))
PY