|| apoc.export.json.data - APOC 核心文档 - Neo4j 文档

apoc.export.json.data

此过程不被认为可以在多线程中安全运行。因此,并行运行时不支持它。欲了解更多信息,请参阅Cypher 手册 → 并行运行时

详情

语法

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

描述

将给定的 NODERELATIONSHIP 值导出到提供的 JSON 文件。

输入参数

名称

类型

描述

nodes

LIST<NODE>

要导出的节点列表。

rels

LIST<RELATIONSHIP>

要导出的关系列表。

file

STRING

数据将导出到的文件名。

config

MAP

{ stream = false :: BOOLEAN, batchSize = 20000 :: INTEGER, bulkImport = false :: BOOLEAN, timeoutSeconds = 100 :: INTEGER, compression = 'None' :: STRING, charset = 'UTF_8' :: STRING, sampling = false :: BOOLEAN, samplingConfig :: 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

导出返回的数据。

配置参数

该过程支持以下配置参数

配置参数
名称 类型 默认 描述

writeNodeProperties

BOOLEAN

true

如果为 true,也导出属性。

stream

BOOLEAN

false

将 json 直接流式传输到客户端的 data 字段。

导出到文件

默认情况下,导出到文件系统是禁用的。我们可以通过在 apoc.conf 中设置以下属性来启用它:

apoc.conf
apoc.export.file.enabled=true

有关访问 apoc.conf 的更多信息,请参阅配置选项章节。

如果我们在未首先设置此属性的情况下尝试使用任何导出过程,将收到以下错误消息:

Failed to invoke procedure: Caused by: java.lang.RuntimeException: Export to files not enabled, please set apoc.export.file.enabled=true in your apoc.conf. Otherwise, if you are running in a cloud environment without filesystem access, use the {stream:true} config and null as a 'file' parameter to stream the export back to your client.

导出文件写入 import 目录,该目录由 server.directories.import 属性定义。这意味着我们提供的任何文件路径都是相对于此目录的。如果尝试写入绝对路径,例如 /tmp/filename,将收到类似于以下的错误消息:

Failed to invoke procedure: Caused by: java.io.FileNotFoundException: /path/to/neo4j/import/tmp/fileName (No such file or directory)

我们可以通过在 apoc.conf 中设置以下属性来启用向文件系统上任意位置的写入:

apoc.conf
apoc.import.file.use_neo4j_config=false

现在 Neo4j 将能够写入文件系统上的任何位置,因此在设置此属性之前请务必确认这是您的意图。

导出流

如果我们不想导出到文件,可以通过传入 null 文件名并提供 stream:true 配置,将结果流式传输回 data 列。

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