apoc.export.arrow.all
This procedure is not considered safe to run from multiple threads. It is therefore not supported by the parallel runtime (introduced in Neo4j 5.13). For more information, see the Cypher Manual → Parallel runtime. |
Syntax |
|
||
Description |
Exports the full database as an arrow file. |
||
Input arguments |
Name |
Type |
Description |
|
|
The name of the file to export the data to. |
|
|
|
|
|
Return arguments |
Name |
Type |
Description |
|
|
The name of the file to which the data was exported. |
|
|
|
A summary of the exported data. |
|
|
|
The format the file is exported in. |
|
|
|
The number of exported nodes. |
|
|
|
The number of exported relationships. |
|
|
|
The number of exported properties. |
|
|
|
The duration of the export. |
|
|
|
The number of rows returned. |
|
|
|
The size of the batches the export was run in. |
|
|
|
The number of batches the export was run in. |
|
|
|
Whether the export ran successfully. |
|
|
|
The data returned by the export. |
Usage Examples
The procedure expose an Arrow file with the following structure
- <id>
: for node id
- <labels>
: list of labels
- <source.id>
: source node id (in case of relationship)
- <target.id>
: target node id (in case of relationship)
- <type>
: for relationship type
- the list of properties of nodes and relationships flattened as table
So for the following query:
CREATE (f:User {name:'Adam',age:42,male:true,kids:['Sam','Anna','Grace'], born:localdatetime('2015185T19:32:24'), place:point({latitude: 13.1, longitude: 33.46789})})-[:KNOWS {since: 1993, bffSince: duration('P5M1.5D')}]->(b:User {name:'Jim',age:42}),(c:User {age:12}),(d:Another {foo: 'bar'})
With this query:
CALL apoc.export.arrow.all('my_file.arrow') YIELD file, source, format,
nodes, relationships, properties,
time, rows, batchSize,
batches, done, data
We’ll have an arrow file with the following columns:
-
<id>
-
<labels>
-
<source.id>
-
<target.id>
-
<type>
-
name
-
age
-
male
-
kids
-
born
-
place
-
since
-
bffSince