Drivine
Docs: drivine.org, for TypeScript and for Kotlin & Java.
Drivine is a graph database client for Node.js and TypeScript, built on NestJS. It supports Neo4j, Memgraph, FalkorDB and Oracle (SQL/PGQ) as graph stores, plus Amazon Neptune and plain SQL on Postgres through the low-level API. It gives you two ways to work with a graph:
- PersistenceManager: a low-level API where you write the queries yourself. This is the classic Drivine approach.
- Object manager (
StatelessGraphObjectManager): a high-level API that maps decorated classes, with a typed query DSL whose references come from the classes themselves.
On the JVM? drivine4j is Drivine’s Java and Kotlin twin (
org.drivine:drivine4j), the graph client for Embabel, with Spring Boot support and a code-generated DSL. The two share a storage format: a store written from Node is read, stamped and checked alike from the JVM, and the other way round.
Its design goals:
- Support multiple graph databases, simultaneously if you wish.
- Scale to hundreds and thousands of transactions per second, without compromising architectural integrity.

