两边点相同,边的rank相同,会出现两条数据?不同查询方法查到结果不同?


这个是什么情况,是bug?

我怀疑是两个原因造成这个结果

  1. 您的 e 没指定方向,所以结果是两个(正向反向格式一个匹配的模式)可以返回一下点来验证一下么?比如:
(root@nebula) [basketballplayer]>  UPDATE EDGE "player101" -> "player100" OF follow SET degree = 1111;
Execution succeeded (time spent 3457/64159 us)

Fri, 10 Dec 2021 14:05:53 CST

(root@nebula) [basketballplayer]> match (v0)-[e:follow{degree:1111}]-(v1) return v0,e,v1
+-----------------------------------------------------+------------------------------------------------------+-----------------------------------------------------+
| v0                                                  | e                                                    | v1                                                  |
+-----------------------------------------------------+------------------------------------------------------+-----------------------------------------------------+
| ("player101" :player{age: 36, name: "Tony Parker"}) | [:follow "player101"->"player100" @0 {degree: 1111}] | ("player100" :player{age: 42, name: "Tim Duncan"})  |
+-----------------------------------------------------+------------------------------------------------------+-----------------------------------------------------+
| ("player100" :player{age: 42, name: "Tim Duncan"})  | [:follow "player101"->"player100" @0 {degree: 1111}] | ("player101" :player{age: 36, name: "Tony Parker"}) |
+-----------------------------------------------------+------------------------------------------------------+-----------------------------------------------------+
  1. 两个结果里属性值不一致是因为没有事务支持,我怀疑是值更新的时候没有全写成功,可以在1.得到验证之后,更新一下data_center看看么?

开启 TOSS(有代价) 可以防止更新的时候不一致(Graph 服务配置 - Nebula Graph Database 手册

暂时有点忙,我看了一下,觉得第一个应该不太可能,如果是反向,应该是数据相同的,我空了再试下,然后过来回复结论。

2 个赞

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