Neo4j JSON
Neo4j JSON is the JSON serialization produced by the APOC (Awesome Procedures On Cypher) library for the Neo4j graph database, generated by the Neo4j APOC export procedures apoc.export.json.all, apoc.export.json.data, apoc.export.json.query, and apoc.export.json.graph. It is Neo4j's native, property-graph-oriented dump format rather than a general interchange standard, and it is designed primarily to round-trip data back into Neo4j (via apoc.import.json) or to feed JavaScript-based visualization tools.
The default and canonical variant is JSON Lines (JSONL): a streaming format in which each line is one self-contained JSON object representing a single node or relationship. A node object carries type: "node", an internal id, a labels array (alphabetically ordered), and a properties map. A relationship object carries type: "relationship", an id, a single label (the relationship type), a properties map, and embedded start and end objects describing the source and target nodes. Because relationships inline their endpoint nodes, the format directly encodes the labeled property graph model, including per-element properties on both nodes and edges. APOC also supports non-streaming variants selectable through the jsonFormat config: ARRAYJSON (a single JSON array), JSON, and JSONIDASKEYS (objects keyed by element id).
The format preserves Neo4j's rich type system, serializing temporal types, spatial/point values, and nested collections that plain CSV or edge-list formats such as Edge List and CSV cannot express. This makes it a fuller property-graph carrier than tabular exports, and a peer to other property-graph JSON encodings like GraphSON, PG-JSON, and Cytoscape JSON, though each of those uses a different object schema.
Its main limitations follow from being an implementation-specific dump rather than a standard. Exported ids are Neo4j-internal identifiers, which are not stable across databases and are not intended as durable keys. File export is disabled by default and must be enabled with apoc.export.file.enabled=true, with output confined to the configured import directory. Point values using the WGS-84 coordinate reference system may serialize in unexpected ways, and the schema is defined by APOC behavior and documentation rather than a formal specification, so interoperability with non-Neo4j tooling generally requires custom mapping.
Alternative Names: APOC JSON, Neo4j JSON, JSONL export
| Feature | Neo4j APOC JSON Export Format |
|---|---|
| Nodes | |
| Undirected Edges | |
| Directed Edges | |
| Hyperedges | |
| Parallel Edges | |
| Self-loops | |
| Edges on Edges | |
| Nested Graphs in Nodes | |
| Nested Graphs in Edges | |
| Nested Graphs in Graphs | |
| Node Labels | |
| Attributes on Nodes | |
| Attributes on Edges | |
| Attributes on Graphs | |
| Typed Edges | |
Tools(Read & Write)
Read-only Tools
Write-only Tools
Frequently Asked Questions
What is a Neo4j APOC JSON Export Format file?
A Neo4j APOC JSON Export Format file stores a graph — its nodes, edges and attributes — in the Neo4j APOC JSON Export Format format (also: APOC JSON, Neo4j JSON, JSONL export). See the feature table above for what it supports.
How do I open a Neo4j APOC JSON Export Format file?
Open it in a graph tool that supports Neo4j APOC JSON Export Format, or convert it to a format your tool reads. With GraphInOut you can convert Neo4j APOC JSON Export Format to GraphML, DOT, Connected JSON and more, right in your browser.
How do I convert a Neo4j APOC JSON Export Format file to another format?
Use the Convert from Neo4j APOC JSON Export Format link above: upload or paste your Neo4j APOC JSON Export Format file (input preset to Neo4j APOC JSON Export Format), choose a target format and download the result — free, no install.