apoc.export.arrow.graph

过程

apoc.export.arrow.graph(file STRING, graph ANY, config MAP<STRING, ANY>) - 将给定的图形导出为 arrow 文件。

在多线程环境下运行此过程被认为是不安全的。因此,它不受并行运行时(于 Neo4j 5.13 引入)的支持。更多信息,请参阅 Cypher 手册 → 并行运行时

签名

apoc.export.arrow.graph(file :: STRING, graph :: ANY, config = {} :: MAP) :: (file :: STRING, source :: STRING, format :: STRING, nodes :: INTEGER, relationships :: INTEGER, properties :: INTEGER, time :: INTEGER, rows :: INTEGER, batchSize :: INTEGER, batches :: INTEGER, done :: BOOLEAN, data :: ANY)

输入参数

名称 类型 默认

file

STRING

null

graph(图)

ANY

null

config

MAP

null

输出参数

名称 类型

file

STRING

source

STRING

format

STRING

节点

INTEGER(整数)

relationships

INTEGER(整数)

属性

INTEGER(整数)

time

INTEGER(整数)

rows

INTEGER(整数)

batchSize

INTEGER(整数)

batches

INTEGER(整数)

done

布尔值 (BOOLEAN)

data

STRING

配置参数

该过程支持以下配置参数

表 1. 配置参数
名称 (name) type 默认 description(描述)

batchSize

整数

2000

ArrowStreamWriter 的批处理大小

使用示例

该过程导出的 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, batchSize,
    batches, done, data

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

  • <id>

  • <labels>

  • <source.id>

  • <target.id>

  • <type>

  • 名称 (name)

  • age

  • male

  • kids

  • born

  • place

  • since

  • bffSince

© . This site is unofficial and not affiliated with Neo4j, Inc.