怎么查询最后一跳的数据

我想通过nGQL根据一个点查询最后一跳的点的数据,使用go或者match怎么查,多个路径下,深度可能不同,查询每个不同深度下的最后一跳数据


试了下这个语句,返回的不对

就是查询多跳的最后一个点的数据,多少跳是不确定的,查最后的终点的数据

match (v)-[*1..]->(v2) where id(v)=="player100" return distinct(v2)

比如A->B->C->D,这个语句会把BCD都查出来,我只需要查出D

这么说:
你数据里有 A->B->C->D,意味着数据里有这么几条路径:
A->B
A->B->C
A->B->C->D
另外,如果数据里还有 A->E
A->E
你说的最后一跳,是指什么?是指跳到不能跳以后的最外围的那个点吗? 也就是上面的结果里只要 D 和 E 吗?

如果是的话,那可以这么写:
match(v:qzxxxxxx)-[e*1..]->(v2) where id(v)=="xxxxxx" with v2 where not (v2)-->() return v2;

2 个赞

感谢老师,已经实现,这个语句用go可以实现吗

1 个赞

用 match 吧。:joy: 你要学会用 match,即将来的大版本,基本上都是 match 了。