Neo4j:具有相同TYPE名称的不同关系

时间:2020-03-16 12:09:00

标签: neo4j cypher

当前,我有一个图,我想添加多个新的相同类型的关系。但是,我得到的是查询创建了不必要的关系。

例如:

这是初始图形

enter image description here

我想添加一个新的关系 BELONG_TO ,该关系从 Request 节点链接到 Item 节点。请注意,关系类型名称 BELONG_TO 已经存在,可以将图中的 Category 节点链接到 Request 节点。

执行下面的查询后,这就是我得到的。

MATCH (i:Item), (r:Request)
MERGE (r)-[:BELONG_TO]->(i); 

enter image description here

如您所见,查询创建了多余的 BELONG_TO 关系(从类别到项目以及从请求到请求)。我想要的是只创建一个将请求节点链接到项目节点的 BELONG_TO 关系。

我想要的东西:

enter image description here

对此有什么解决方案吗? -我使用的neo4j版本是3.5.14 -每个节点和关系中都没有任何属性。

编辑: 对关系名称(不是标签)的更正。

2 个答案:

答案 0 :(得分:2)

  1. 在neo4j中,节点具有0个或多个“ 标签”,而关系则具有1个“ 类型”(“标签”)。
  2. 看起来,可视化中带有Category标签的节点也恰好带有Request标签,而可视化中带有Request标签的节点也恰好具有Item标签。那将解释您看到的行为。如果不希望这样做,则应REMOVE所有无关标签。

答案 1 :(得分:0)

我认为您单击该节点,它将告诉您该节点上有哪些标签。 具有类别的节点也具有标签 Request