在使用FIND PATH 执行路径查询时,是否支持按照路径长度进行排序?

  • nebula 版本:3.2.0
  • 部署方式:单机
  • 安装方式:RPM
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘 SSD
    • CPU 5600G
    • 内存信息 32G 频率3200

请教各位,在使用FIND PATH 语句执行路径查询的时候,是否支持按照路径的长度(边的个数)来对输出结果集合进行排序?

FIND NOLOOP PATH   FROM "000105087711000000285044" TO "000106017711000004336702" OVER pipeline BIDIRECT  UPTO 20 STEPS  YIELD path as p | ORDER BY length($-.p) | LIMIT 5 

如上的语句中,经测试,不能支持。

FIND NOLOOP PATH   FROM "000105087711000000285044" TO "000106017711000004336702" OVER pipeline BIDIRECT  UPTO 20 STEPS  YIELD path as p |  LIMIT 5 

如上所示语句,删除ORDER BY 相关的子句,测试发现输出的结果,是预期的结果。但是,这种结果是强保证的吗?即,如不显示的设置排序,是否默认按照路径的长度来进行排序?

YIELD path as p | yield length($-.p) as len, $-.p as p | order by $-.len | LIMIT 5

order by的表达式必须是一个已经计算好的

4 个赞

非常感谢。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。