- nebula 版本:v 2.6.0
- 部署方式:分布式
- 安装方式: RPM
- 是否为线上版本:Y
有这么个需求,已知A和B的 vid, 需要找A 和 B 一个方向上的关系,或者中间通过某个点指向的关系。
match 表达如下:
A - [GLF*0..2] ->(C)<-[GLF*0..2]-(B)
上面语句包含了三种情况:
1. A - [GLF*0..2] ->(C)<-[GLF*0..2]-(B)
2. A -[GLF*0..4]->(B)
3. B -[GLF*0..4] ->(A)
在nebula 中直接用match 语句性能不太好,想改成go
- 对于1:
go 1 to 2 steps from vid(A) OVER GLF yield GLF._dst as dst |\
go 1 to 2 steps from $-.dst over GLF Reversely where GLF._dst == vid(B)
- 对于2, 3:
go 1 to 4 steps from vid(A) over GLF where GLF ._dst == vid(B);
现在的问题是,我想返回的是路径, 但是上面的go表达都不能返回对应的路径, 请问这个该怎么用go语句改写呢?