Neo4j MERGE查询

时间:2014-09-26 05:21:11

标签: merge neo4j

MERGE (n : Person { id : 1000) 
MERGE (m : Item   { id : 2000}) 
SET m.name ='xyz' 
MERGE (n)-[r:Buy]->(m)

我正在尝试将此类数据(大约10k +)上传到Neo4j,但MERGE查询的执行速度变得非常慢,因为对于每个MERGE,它需要对节点空间进行全面扫描,以验证是否存在其他项目。给予财产。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您在id:Person节点的:Item属性上定义了唯一约束,则这些属性将被编入索引,然后将更有效地进行扫描。

您需要的语法如下所示:

CREATE CONSTRAINT ON (person:Person) ASSERT person:id IS UNIQUE
CREATE CONSTRAINT ON (item:Item) ASSERT item:id IS UNIQUE

您可以在此处找到有关唯一约束的更多信息:

http://docs.neo4j.org/chunked/stable/query-constraints.html