Neo4j正在重复关系

时间:2016-09-22 07:15:51

标签: neo4j

我正在尝试一次创建多个关系,所有关系都从一个节点出来,进入多个其他节点。我正在尝试使用MERGE来匹配/创建节点,然后CREATE一次创建多个关系。问题在于,出于某种原因,关系正在重复,每个关系都被创建两次......帮助?

我的JSON请求:

{
"query":"MERGE (n:person {subject:'testSubject'}) MERGE (n1:node {subject:'7f975f24-acc9-4400-9b2f-f7fd955425b7'}) MERGE (n2:node {subject:'a8d242b0-5cce-4c00-8912-885c97f917a3'}) ... MERGE (n60:node {subject:'68ee8e74-205a-4ba8-b6d0-6edb8d907912'}) CREATE (n)-[r1:relationToNode { json1 }]->(n1) CREATE (n)-[r2:actsIn { json2 }]->(n2) ... CREATE (n)-[r60:actsIn { json60 }]->(n60)",
"params":{
    "json1":{...}, "json2":{...}, ..., "json60":{...}
}

}

2 个答案:

答案 0 :(得分:1)

您是否有可能两次运行此查询?如果是这样,您可以避免使用MERGE而不是CREATE来重复关系。

答案 1 :(得分:0)

解决!!显然neo4j(2.2.3)复制了每个重复节点的所有关系..我在MERGE部分有一个重复的节点,这导致每个关系被创建两次..当我尝试相同的查询时,我的数据库包含三倍节点的关系创建了三次..通过在主题字段上使用唯一的CONSTRAINT解决,显然MERGE本身不是线程安全的。