gpt4 book ai didi

neo4j - 如何找到neo4j中两个节点之间的最短关系?

转载 作者:行者123 更新时间:2023-12-04 02:39:51 29 4
gpt4 key购买 nike

我的图表中有多个关系。我想找到两个节点之间的最短关系。

我有两种类型的节点:1人2.公司

以及这些节点之间的许多关系,例如电话、电子邮件、地址等。

Here is the screenshot of my graph

我试过:
MATCH (r)-[q:*1..3]-(p) 返回类型(q)
但是它给出了一个错误信息:

Invalid input '*': expected whitespace or a rel type name (line 1, column 14 (offset: 13))

我也试过 MATCH (r)-[*]-(p) return * 但它花费了无限时间。我还尝试通过索引进行查询以加快进程,但仍然没有成功。

请告诉我如何找到节点之间的最短路径。

最佳答案

此查询中有 2 个错误:

MATCH (r)-[q:*1..3]-(p)  return type(q)
  1. 冒号(“:”)只能用在类型名称前面的关系模式中。由于在您的情况下您不想指定类型名称,因此您需要省略冒号。
  2. 由于 q 用于可变长度路径模式,因此它的值将是一个列表关系。

这是一个实际上应该返回您的查询似乎试图返回的内容的查询:

MATCH ()-[qs*..3]-()
UNWIND qs AS q
RETURN TYPE(q)

现在,如果您想找到 2 个节点之间的最短路径(如您的问题主题所示),请参阅@DaveBennett 的回答(假设他解决了我在对他的回答的评论中提到的问题)。

关于neo4j - 如何找到neo4j中两个节点之间的最短关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59869096/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com