我想通过HTTP端点向Neo4j 2.3.7数据库添加几千个弧。
实现这一目标的合理快捷方法是什么?
答案 0 :(得分:0)
如果所有新的"关系" (这是" arcs"的正确neo4j术语)将具有相同的关系类型(例如," BAR"),然后您进行单个参数化Cypher查询以添加该数量的关系
在这个例子中,我假设作为data
参数传递的值是一个类似于此的集合:
[
{a:1, b:2, props: {x: 100, y: "abc", z: 500}},
{a:3, b:2, props: {x: 123, y: "bar", z: 99}},
...
]
以下是相应的查询(其中id
是用于标识正在创建的每个关系的唯一端节点的样本节点属性。)
UNWIND {data} AS d
MATCH (a {id: d.a}), (b {id: d.b})
CREATE (a)-[r:BAR]->(b)
SET r = d.props;
注意:如果a
节点和/或b
节点始终具有相同的标签,则MATCH
子句应指定标签,您还应创建相应的索引(例如,CREATE INDEX ON :Foo(id)
)。这将使查询更具性能。