【问题标题】:neo4j : How to create a edge based on the name of existing edge between 2 nodesneo4j:如何根据 2 个节点之间现有边的名称创建边
【发布时间】:2023-02-23 12:10:02
【问题描述】:

我有2个节点

如果现有关系 == 'Father' 和 'Ben's Gender 是 'Male',如何创建从 'Ben' 到 'John' 的名为 'Son' 的边,如下所示

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    这应该有效:

    MATCH (f:Person)-[:Father]->(s:Person)
    WHERE s.name = 'Ben' AND s.Gender = 'Male'
    CREATE (s)-[:Son]->(f)
    

    如果 Son 关系可能已经存在,您应该使用 MERGE 而不是 CREATE 以避免创建重复关系。

    您可能还想考虑通过根本不添加冗余Son关系来简化数据模型(并减少数据库的存储大小),因为您已经可以通过使用告诉BenJohn的儿子以上MATCHWHERE条款。

    【讨论】:

      猜你喜欢
      • 2015-10-07
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2019-11-24
      • 2023-01-30
      • 1970-01-01
      • 2017-12-22
      • 2014-01-29
      相关资源
      最近更新 更多