我怀疑是两个原因造成这个结果
- 您的 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.得到验证之后,更新一下data_center看看么?
开启 TOSS(有代价) 可以防止更新的时候不一致(Graph 服务配置 - Nebula Graph Database 手册 )
暂时有点忙,我看了一下,觉得第一个应该不太可能,如果是反向,应该是数据相同的,我空了再试下,然后过来回复结论。
2 个赞
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。