Skip to content

Node.js / TypeScript API Reference

Complete reference for the @grafeo-db/js package, native bindings for Grafeo via napi-rs.

Installation

npm install @grafeo-db/js

Quick Start

import { GrafeoDB } from '@grafeo-db/js';

const db = GrafeoDB.create();

db.createNode(['Person'], { name: 'Alix', age: 30 });
db.createNode(['Person'], { name: 'Gus', age: 25 });
db.createEdge(0, 1, 'KNOWS', { since: 2024 });

const result = await db.execute('MATCH (p:Person) RETURN p.name, p.age');
console.log(result.toArray());

db.close();

Classes

Class Description
GrafeoDB Database connection, queries, CRUD, vector/text search
QueryResult Query result with rows, columns, nodes, edges
Transaction ACID transaction management
JsNode Graph node with labels and properties
JsEdge Graph edge with type, endpoints and properties

Query Languages

All query methods return Promise<QueryResult> and accept an optional params object:

await db.execute(gql, params?);          // GQL (ISO standard)
await db.executeCypher(query, params?);   // Cypher
await db.executeGremlin(query, params?);  // Gremlin
await db.executeGraphql(query, params?);  // GraphQL
await db.executeSparql(query, params?);   // SPARQL
await db.executeSql(query, params?);      // SQL/PGQ

Type Mapping

JavaScript Grafeo Notes
null / undefined Null
boolean Bool
number (integer) Int64 No fractional part and within safe integer range
number (float) Float64
string String
BigInt Int64
Array List Elements converted recursively
Object Map Keys must be strings
Buffer Bytes
Date Timestamp Millisecond precision
Float32Array Vector For embeddings and similarity search