【问题标题】:Neo4j: different relationships with the same TYPE nameNeo4j:具有相同TYPE名称的不同关系
【发布时间】:2020-06-27 13:14:32
【问题描述】:

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

例如:

这是初始图

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

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

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

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

我想要什么:

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

编辑: 将关系名称作为类型而不是标签进行了更正。

【问题讨论】:

  • 你能在你的图表上分享这个查询的输出吗? MATCH (i:Item) ,(r:Request) RETURN labels(i),labels(r) LIMIT 100
  • @TheTeacher 返回标签名称,分别是Item和Request。
  • 每个节点有一个或多个标签

标签: neo4j cypher


【解决方案1】:

我想你点击节点,它会告诉你节点上有什么标签。 具有 Category 的节点也具有标签 Request。

【讨论】:

    【解决方案2】:
    1. 在neo4j中,一个节点有0个或多个“labels”,一个relationship正好有1个“type强>”(不是“标签”)。
    2. 看起来您的可视化中带有Category 标签的节点也恰好有Request 标签,并且您的可视化中带有Request 标签的节点也恰好有Item 标签。这可以解释你看到的行为。如果不是这样,您应该 REMOVE 所有无关标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 2023-03-08
      • 2022-01-15
      • 1970-01-01
      相关资源
      最近更新 更多