3.6.0版本find path返回结果错误问题

提问参考模版:

  • nebula 版本:3.6.0
  • 部署方式:分布式
  • 安装方式:Docker
  • 是否上生产环境:N
  • 硬件信息
    • 磁盘 ssd
    • CPU、内存信息 4c/8g
      -数据集:basketballplayer数据集,额外插入一条 INSERT EDGE serve (start_year, end_year) VALUES “player100”->“player101”:(100, 100);

问题描述:当使用find path,并且选择携带属性时,如果有两点之间有不止一个类型的边时,在查询一跳时,只有一个结果有属性,其他结果没有属性

补充测试:CREATE EDGE IF NOT EXISTS e1();
INSERT EDGE e1 () VALUES “player100”->“player101”:();
find NOLOOP path WITH PROP from “player100” to “player101” over * UPTO 1 STEPS YIELD path as p

1 个赞

:joy: 这个实验挺有意思的。我找个人瞅瞅哈

多谢,是一个bug 已经提 issue find path without prop when one step · Issue #5758 · vesoft-inc/nebula · GitHub
会尽快修复

3 个赞

另外想问另一个问题,
match p=(v)-[e:follow]-(v1) return p,typeid(e),dst(e) as dst ,src(e) as src,e order by src,dst

同时
match p=(v)-[e:follow]-(v1) where id(v)==“player100” and id(v1)==“player101” return p,typeid(e),dst(e) as dst ,src(e) as src,e order by src,dst

我想问的是不指定v和v1的id时,其实数据是重复返回了,同时我使用distinct 想要去重 match p=(v)-[e:follow]-(v1) return distinct p。也无法对p去重。

没有重复返回, 因为你是双向查询的, 从player 101 到player100 正向反向都有边, 从player100 到player101 正向反向也都有边

我理解你的意思,但是在我没有把typeid(e)打印出来的时候,只打印e的情况,看起来就比较迷惑

打印只是对结果的一个处理不展示某个字段而已。不会对原有的结果做合并

好的

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