apoc.export.arrow.graph

在 APOC 2025.06 版本中,此过程已被迁移至不受支持的 APOC Extended 库。这意味着如果您使用的是 APOC 2025.06 或更高版本,该过程在 Cypher 25 中将不可用,但仍可在 Cypher 5 中使用。有关更多信息,请参阅 APOC 和 Cypher 版本

此过程不建议在多线程中运行,因此并行运行时(Parallel runtime)不支持该过程。有关更多信息,请参阅 Cypher 手册 → 并行运行时

详细信息

语法

apoc.export.arrow.graph(file, graph [, config ]) :: (file, source, format, nodes, relationships, properties, time, rows, batchSize, batches, done, data)

描述

将指定的图导出为 Arrow 文件。

输入参数

名称

类型

描述

file

STRING

导出数据的文件名。

graph(图)

ANY

要导出的图。

config

MAP

{ batchSize = 2000 :: INTEGER }。默认值为:{}

返回参数

名称

类型

描述

file

STRING

数据导出到的文件名。

source

STRING

导出数据的摘要。

format

STRING

文件的导出格式。

节点

INTEGER(整数)

已导出节点的数量。

relationships

INTEGER(整数)

已导出关系的数量。

属性

INTEGER(整数)

已导出属性的数量。

time

INTEGER(整数)

导出所花费的时间。

rows

INTEGER(整数)

返回的行数。

batchSize

INTEGER(整数)

导出过程执行的批处理大小。

batches

INTEGER(整数)

导出过程执行的批次数。

done

布尔值 (BOOLEAN)

导出是否成功执行。

data

ANY

导出返回的数据。

用法示例

该过程导出一个包含以下结构的行 Arrow 文件 - <id>:节点 ID - <labels>:标签列表 - <source.id>:源节点 ID(如果是关系) - <target.id>:目标节点 ID(如果是关系) - <type>:关系类型 - 节点和关系的属性列表以表格形式扁平化呈现

因此,对于以下查询

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'})

使用此查询

CALL apoc.graph.fromDB('neo4j',{}) yield graph
CALL apoc.export.arrow.graph('my_file.arrow', graph) YIELD file, source, format,
    nodes, relationships, properties,
    time, rows, batchSize,
    batches, done, data

我们将得到一个具有以下列的 Arrow 文件

  • <id>

  • <labels>

  • <source.id>

  • <target.id>

  • <type>

  • 名称 (name)

  • age

  • male

  • kids

  • born

  • place

  • since

  • bffSince