GO 语句使用 STEPS 如何获得具体跳数

环境信息

  • nebula 版本:2.0.0-ga
  • 部署方式(分布式 / 单机 / Docker / DBaaS):物理集群部署

问题的具体描述: GO 语句支持多跳查询, 如何知道返回的某一行结果是具体哪一跳的?

举个例子:

vertex_c1    vertex_c2
     |            |
vertex_b1    vertex_b2
       \        /
        vertex_a


GO 1 TO 3 STEPS FROM "vertex_a" OVER `e` REVERSELY YIELD e._src, e._dst

返回结果是按行组织的, 一共会有 4 行, 但实际的 STEPS 只有 2.

请问: 如何可以获得实际的 STEPS ?

返回的那一行行数据是一个path对象,对象上有具体的方法可以获取步数的

请问如何组织 GO 语句获取 STEPS ?

你可以使用match

Go目前没法获取steps,你要不使用 find path 或者 match,通过查询数据返回的path对象,用path对象上的getPath方法拿到steps(这里有golang客户端的示例

我知道 match 可以通过 length(path 对象) 来获得 STEPS

但是 match 好像不能完全满足使用的场景, 详见: match与多Tag的兼容性 - #16 由 yee

建模的时候避免重名就好了。