【问题标题】:Can two way relation be created in single CREATE query?可以在单个 CREATE 查询中创建双向关系吗?
【发布时间】:2023-01-20 07:55:46
【问题描述】:

当我有两个双向连接的节点时,我使用两个创建查询来连接它们:

MATCH (london:City {name: "London"})
MATCH (dublin:City {name: "Dublin"})
CREATE (london)-[:Flight {length: 450}]->(dublin)
CREATE (dublin)-[:Flight {length: 450}]->(London);

由于两个方向的飞行长度相同,是否可以创建双向关系,这样我就不需要两个 CREATE 查询?

【问题讨论】:

    标签: cypher memgraphdb opencypher


    【解决方案1】:

    您不能创建双向关系,每条边都有一个方向(尽管您可以沿任一方向遍历边)。鉴于并非所有航线都有返程,我倾向于使用两条边对此类关系进行建模,以防万一有一天返程被取消并且您必须以不同的方式回家。在创建关系方面,您可以使用以下模式一次性创建它们。

    MATCH (london:City {name: "London"})
    MATCH (dublin:City {name: "Dublin"})
    CREATE (london)-[:Flight {length: 450}]->(dublin)-[:Flight {length: 450}]->(London)
    

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多