关于Find Path 一对多路径分组问题

各位大佬,我想请教下,假设我想查询 A 到 B, C,D的路径, 但是我又想LIMIT 10,假设 A到B的路径超过10条,那我A到 C、D的路径那不是不返回了,所以请教下能不能路径分组,雨露均沾都返回10条路径,有没什么好的办法?
这是我的语句:
FIND NOLOOP PATH WITH PROP FROM A TO B, C, D
OVER * BIDIRECT UPTO 1 STEPS
YIELD path AS p | YIELD $-.p AS p WHERE length($-.p) == 1
| LIMIT 10 | RETURN DISTINCT nodes($-.p) AS n, relationships($-.p) AS r

用union就行。不过如果list比较大,写起来麻烦一点

我觉得可以这么写

FIND NOLOOP PATH WITH PROP FROM "Alayaya" TO "Rhaegar-Targaryen","Big-Boil","Ryk" \
OVER * BIDIRECT UPTO 4 STEPS  \
YIELD path AS p | \
YIELD NODES($-.p)[-1].person.name as d,COLLECT($-.p)[0..9] as p | \
UNWIND $-.p as pd 

参考数据集为 官网示例数据集 “《权利的游戏》中的人物关系 ”

4 个赞

不行,实现不了

union也不行?话说那天我试过呀

union可以,谢谢,我担心性能问题

还好的。差不多的

这个最大限制多少?

没有限制。不过不要超过http的传输包的大小

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