go语句如何过滤多层关系数据

  • nebula 版本:2.5.0
  • 部署方式(分布式 / 单机 / Docker / DBaaS):单机
  • 是否为线上版本:N

go 1 to 2 steps from 11111111 over edgeType where edgeType.weight >=10 ;
问题:以上语句中过滤条件只对一层路径进行过滤,请问如何对多层关系也进行过滤呢?

是一条语句实现一跳和多跳的同时过滤吗?

go的 mton。是对每一步的 边 都进行 过滤

是的

查询结果没有过滤掉哦,还是语法不对?

可以 profile 看一下 执行计划

你说的“过滤多层关系” 是类似这种语句吗

MATCH (v1)-[e1]-(v2)-[e2]-(v3)
WHERE e1.prop>1 and e2.prop<3
RETURN *
1 个赞

主要是 GO语句,比如 go 1 to 2 steps from 11111111 over edgeType where edgeType.weight >=10 ;,会进行两层的廓线,where 只会对一层的关系过滤,两层的关系就没有过滤了

是 bug 吗?应该是所有多步拓展都必须满足 where 子句的条件约束的。

目前还不知道什么原因,也许语法不对,不排除是bug

如果 go 1 to 3 steps from 11111111 over edgeType where edgeType.weight >=10 yield edgeType.weight 语句结果中有 weight < 10 的那就是 bug.

结果中有 weight < 10的

我复现了。关注下这个 issue https://github.com/vesoft-inc/nebula/issues/3090

1 个赞

浙ICP备20010487号