【问题标题】:Get the closest node in neo4j获取neo4j中最近的节点
【发布时间】:2016-01-31 13:26:47
【问题描述】:

我有 5 个节点 Node1、Node2、Node3、Node4、Node5。我想从 Node5 类型中获取连接到 Node1 的最近节点,它可以是 Node1->Node2->Node5 或 Node1->Node3->Node->Node5。 这可能吗?

【问题讨论】:

  • START n=node(Node1) WITH n, abs(n.id - 11111) as val ORDER BY val LIMIT 1 RETURN n

标签: neo4j


【解决方案1】:

那么你想找到从 Node1 到 Node5 的最短路径吗? Node1 是标识多个节点的node label 还是标识单个节点的属性值?

假设您有一个标识节点的name 属性:

MATCH p=shortestPath( (:Node {name: "Node1"})-[*]->(:Node {name: "Node2"}))
RETURN p

如果Node1Node2等是标签:

MATCH p=shortestPath((n1:Node1)-[*]->(n5:Node5))
RETURN p

【讨论】:

    【解决方案2】:

    Match p = shortestPath((n1:Node1)-[*]-(n5:Node5)) return p 有关此问题的其他提示,请参阅此文档: http://neo4j.com/docs/milestone/query-match.html

    在旁注中,您似乎使用了某种已弃用的密码语法Start,仅建议将其与旧索引一起使用。在较新的版本中,您可以直接使用Match。参考以下:http://neo4j.com/docs/stable/query-start.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多