当前位置: 首页 > 知识库问答 >
问题:

Neo4j最短路径(BFS)距离查询变体

崔高远
2023-03-14
  • 范围查询。将距离特定节点3跳以内的所有me节点(及其距离)
  • 带来特定节点和一组节点之间的最短路径(BFS)距离(因为图是无向且未加权的)。
  • 带来特定节点和所有其他图节点之间的最短路径(BFS)距离。

如果这些类型的查询实际上是可能的,没有递归类型实现,而是直接来自Cypher,那么我应该期望什么样的性能(几秒钟、几秒钟或几分钟)?

共有1个答案

阎阳
2023-03-14

是的,cypher可以做所有这些事情。

范围查询如下所示:

MATCH path=(a:MyNode { name: "Foo"})-[:myRelationshipType*1..20]->(b));

这将为您提供所有“B”节点,这些节点从MyNode跳数在1到20个之间,并且具有给定的关系类型。匹配的路径是一个变量,可以有各种密码函数应用于它。所以对于每条路径,你可以问它有多长,中间有什么,等等。cypher refcard显示了应用于路径的函数,以了解可以用它们做什么。

    null
 类似资料:
  • 有一个最多有10,000个节点的图,每个节点最多可以有4个相邻节点。图是无权无向的。任务是寻找从节点A到节点B的最短路径,路径长度是路径中访问的节点数。BFS算法能在不到一秒钟的时间内找到路径并使用少于64MB的内存吗? 最初的问题是网格(最多100*100)和可以访问的地方,开始的地方,结束的地方,和不能访问的地方。我的第一个猜测是将其简化为使用BFS搜索在未加权图中寻找最短路径。但是,我不确定

  • 我需要一个算法来找到地图上两点之间的最短路径,其中道路距离由一个数字表示。 给出的内容:开始城市A目的地城市Z 城市间距离列表: A-B: 10 F-K: 23 R-M: 8 K-O: 40 Z-P: 18 J-K: 25 D-B: 11 M-A: 8 P-R: 15 我想我可以用Dijkstra的算法,但是它能找到到所有目的地的最短距离。不仅仅是一个。 如有任何建议,我们将不胜感激。

  • 距离查询 距离查询,是指查询指定几何对象一定距离范围内的地物。对于点几何对象,则查询以该点为圆心,以距离为半径画圆,落在该圆形范围内的地物;对于线和面几何对象,则查询距离对象边界一定范围内的地物。 以 World 数据服务为例。使用接口 ol.supermap.QueryService 在图层 “Capitals@World.1” 中查找距离指定点为10度(地图坐标单位)的矢量要素。 // 添加查

  • 这道题是 LeetCode 72 题。 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数。你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 动态规划 解决两个字符串的动态规划问题,一般都是用两个指针 i,j 分别指向两个字符串的最后,然后一步步往前走,缩小问题的规模。 定义状态:dp[i][j] 表示 s1、s2 长

  • 我试图通过一个节点图进行广度优先搜索遍历,然后我将尝试找到一个节点和另一个节点之间的最短距离。这就是维基百科的BFS算法: 我有自己的节点类,节点的距离设置为最大。我的版本基于第一个代码的风格: 我试图让这段代码也能找到一个节点和另一个节点之间的最短路径。例如 我如何修改BFS代码来实现这一点?如果在这个循环中是不可能的,那么还有什么其他的方法呢? 如果我的代码或我的要求有任何混淆,请通知我。非常