java-clinent2.0查询FIND NOLOOP PATH显示BUG

提问参考模版:

  • nebula 版本:2.0
  • 部署方式(分布式 / 单机 / Docker / DBaaS):单机
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
  • 相关的 meta / storage / graph info 日志信息

FIND NOLOOP PATH查询路径java-client端有个显示BUG,console查出展示出来的值正确:

java-clinent2.0查询出来的值是(“28e8aaef426f4dc098952d75a2e49feb” )-[:rf16956802584461294a4f0c0f92fde5f@0{}]->(“d33bcd183a574252a3c51d31133adabd” )<-[:r56dc0c48e137406983c39e180c567b12@0{}]-(“d33bcd183a574252a3c51d31133adabd” ),这个展示不正确。
不过取出path.getRelationships()的分段路径是对的:
[(“28e8aaef426f4dc098952d75a2e49feb”)-[:rf16956802584461294a4f0c0f92fde5f@0{}]->(“d33bcd183a574252a3c51d31133adabd”), (“d33bcd183a574252a3c51d31133adabd”)-[:r56dc0c48e137406983c39e180c567b12@0{}]->(“241f3c37816e4420a0a27a23eaa52d68”)]

SHORTEST、NOLOOP、ALL的区别

没太明白, 是结果不对吗
shortest 是 指 两点之间的最短路径
noLOOP。只针对全路径,并且路径中没有重复的点
ALL。是两点之间的所有路径

@pandap 2.0应该不是具体版本号吧,只是指是2.0的服务和客户端,麻烦给下具体的客户端和服务的版本号。

还有你可以把插入数据的 query 发下吗?

客户端和服务端应该都是2.0ga版本,数据是3个tag,2个关系指向,人物->角色,角色->组织,插入语句是配置出来的,暂时看不了

好的,感谢你的反馈,加了单元测试并修复,待增加其他的测试一起提pr

1 个赞

,用studio查询出来结果是正确的,java-client2.0查询结果不正确,请问这个bug啥时候修复呢

snapshot版本修复了

1 个赞

好的,谢谢

,刚刚下了2.0.0-SNAPSHOT版本,测了一下,正向查询没有问题,都显示正确的。 ,双向查询java client貌似还有问题,请问我的查询语句的方式有问题吗

你贴的图哪里是java client的呀,不都是studio的截图吗?
你可以看这里面的test
https://github.com/vesoft-inc/nebula-java/tree/master/client/src/test/java/com/vesoft/nebula/client/graph/data

是不是你的数据场景

不是,最后那张图是用postman调用的结果,上面那张是用studio调用的,同样的nGQL查找出来的结果不一样,放在了一起只是做个对比。最后那张图是用java client调用的session.execute()执行出来的结果

image ,这是java client执行的结果; 这是studio执行的结果;执行的语句都一样的,但是client显示的结果不对的

2.0.0-SNAPSHOT版本经过验证,FIND PATH正向和反向查询java client没有问题,但是双向查询就会有bug。

好的,我看下,尽快修复。 修复 pr https://github.com/vesoft-inc/nebula-java/pull/327, 你可以更新下snapshot,已经上传的了

1 个赞