LOAD JSONL command. The expected format is compatible with Neo4j APOC’s JSON export (produced by apoc.export.json.all with useTypes:true).
Expected file format
Each line is a self-contained JSON object representing either a node or a relationship:"type": "node"):
| Field | Requirement |
|---|---|
type | Must be the string "node" |
id | Required. Integer or string parseable as integer. Must start at 0 and increment by 1 with no gaps. |
labels | Required. Array with at least one label. |
properties | Optional. Dictionary with property keys and values. |
"type": "relationship"):
| Field | Requirement |
|---|---|
type | Must be the string "relationship" |
id | Required. Integer or string parseable as integer. Must start at 0 and increment by 1 with no gaps. |
label | Required. Exactly one label. |
start / end | Required. Either: - a bare integer (or string parseable as integer) referencing a node id- a dictionary with an id key holding an integer (or string parseable as integer) referencing a node id. |
properties | Optional. Dictionary with property keys and values. |
Loading embedding properties
By default, an array-valued property in the JSONL is stored as a string. To load specific array properties as embeddings (typeEmbedding, usable with cosine_similarity / euclidean_distance), append a WITH EMBEDDINGS clause listing each embedding property and its dimension:
{"<property name>", <dimension>}. The dimension must be greater than 1, and every array under that property must have exactly that many numeric elements (otherwise the load fails). This works for both node and relationship properties. Array properties not listed in WITH EMBEDDINGS are still stored as strings.
This sets embeddings as node/edge properties. To bulk-load embeddings onto an existing graph from a Parquet file, use
LOAD EMBEDDING FROM instead.Import steps
Place your file in the TuringDB data directory
TuringDB only reads external files from the
data subdirectory of its working directory (set by -turing-dir, default $HOME/.turing).Load the file into a new graph
- Cypher
- Python SDK
mygraph and populates it with all nodes and relationships from the file.Your JSONL data is now loaded and queryable as a TuringDB graph.
Verify the import
Use procedures to inspect what was imported:- Cypher
- Python SDK

