Graph Spec is a format and library for representing graph models in YAML or JSON. It provides library support for JVM, JavaScript, TypeScript & Go for migration and validation.
Warning
This repository is currently under construction and highly experimental.
implementation("org.neo4j.importer:graph-spec:x.y.z")<dependency>
<groupId>org.neo4j.importer</groupId>
<artifactId>graph-spec</artifactId>
<version>x.y.z</version>
</dependency>npm install -D @neo4j-importer/graph-spec
import { GraphSpec } from "@neo4j-importer/graph-spec";
const model: GraphModel = GraphSpec.Json.decodeFromString(value);go get github.com/neo4j/graph-spec/go/vX@vX.Y.ZNote
The Go library comes bundled with the Kotlin/Native library which is embedded and loaded automatically.
The runtime needs glibc and libstdc++. The Go library can also be run without automatic embedding if needed
(e.g. due to runtime restrictions) - see the Go README.
Releases are automated via the Release workflow, triggered by merging a PR to main with one of these labels:
| Label | Effect |
|---|---|
release:alpha |
Increment or create the dangling alpha line on the current base |
release:patch |
Bump patch version (stable) |
No manual npm publish or Gradle task is needed - just merge a labelled PR.