从 Neo4j json 转储中导入字符串

Import strings from Neo4j json dump

假设我按如下方式填充 Neo4j 图形:

CREATE (n:Person {name: 'Andy', title: 'Developer'})
CREATE (n:Person {name: 'Betty', title: 'Developer'})

然后我将 Neo4j 的内容转储到 json 文件中,如下所示:

call apoc.export.json.all("dump.json",{useTypes:true})

我想将该 json 文件的内容导入第二个数据库实例。我知道我可以导入:

call apoc.import.json("dump.json")

但在我的情况下,我会将文件的内容存储在内存中(保证不会很大)并且无法从文件系统加载文件。如何将这些行导入到第二个实例中?我没有看到使用 apoc.import 执行此操作的方法。也许以某种方式使用 apoc.convert.fromJsonList 来做到这一点?我是否缺少导入这些行的直接方法?

您仍然可以使用 APOC 导出和流式传输结果,这样您就可以 import it via cypher-shell, or if you do not have access to it, using the Neo4j browser

示例:

通过密码导入-shell -

CALL apoc.export.cypher.all(null, {
    batchSize: 5,
    streamStatements: true,
    format: "cypher-shell",
    useOptimizations: {type: "UNWIND_BATCH", unwindBatchSize: 5}
})
YIELD nodes, relationships, properties, cypherStatements
RETURN nodes, relationships, properties, cypherStatements;

通过 Neo4j 浏览器导入 -

CALL apoc.export.cypher.all(null, {
    format: "plain",
    useOptimizations: {type: "UNWIND_BATCH", unwindBatchSize: 20}
})
YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize
RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;