Neo4j Ontology Graph Specification

The Neo4j Ontology Graph Specification is a format and library for defining, validating and migrating ontologies for Neo4j, expressed as YAML or JSON. It provides library support for JVM, JavaScript, TypeScript and Go for validation and migration.

The normative definition of the format is the current JSON Schema.

Why this specification

Agents are becoming the main way people work with graph data. A schema tells an agent what exists, not what it means. The specification gives the graph’s business meaning a standard, machine-readable form.

Define your domain once and agents, document intelligence, import and your own tooling all read the same artifact. It is published, versioned, SDK-backed and openly governed, so it is a stable contract to build on.

Where to start

Write an ontology

You want to describe an ontology or graph model, by hand or with the help of an agent, and use it with Neo4j’s tools. Start with Getting started, then use the reference as you go.

Build with the libraries

You are building a tool that reads, writes, validates or converts ontology documents. Start with the libraries overview.

The source for the specification, its schema and the libraries lives in the ontology-graph-spec repository on GitHub, where you can open issues, follow releases and contribute.