Skip to content

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:

  1. PersistenceManager: a low-level API where you write the queries yourself. This is the classic Drivine approach.
  2. 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.