【问题标题】:Find a node which is connected to all start nodes找到一个连接到所有起始节点的节点
【发布时间】:2023-03-28 19:26:01
【问题描述】:

我正在尝试为以下场景建模密码查询:

我有 3 个起始节点 A、B、C,我试图找到与所有三个起始节点相关的 n 个节点 D。最后我会减少关系的weight属性,选择权重最高的节点。

提前感谢您帮助我!

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    这样的事情怎么样?

    MATCH (a:Node {name: "A"})-[r1]-(d)
    , (b:Node {name: "B"})-[r2]-(d)
    , (c:Node {name: "C"})-[r3]-(d)
    RETURN d.name
    , r1.weight + r2.weight + r3.weight AS Weight
    ORDER BY Weight DESC
    LIMIT 1
    

    只返回匹配所有a、b、c的d;将这些相对关系的权重加起来;按重量降序排序;并摘下第一个。

    【讨论】:

    • 只要确保在你的节点上使用标签!否则以后找到它们会很慢。 (并且没有索引)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2012-12-03
    • 2023-01-15
    相关资源
    最近更新 更多