计算图形数据库中多个顶点的所有可能路径

Count all possible paths in a graph database for multiple vertices

我有一个图形数据库,我需要获取所有没有任何出边的顶点并计算每个顶点有多少个顶点

例如

我有 8 个顶点 A,B1,B2,D,X,Y1,Y2,Z

D->B1->A

B2->A

Z->Y1->X

Y2->X

我想获得一个列表,其中包含 [A = 3, X = 3] 以及每个顶点的属性

为什么是 3 个?因为你可以从 D、B1 和 B2 到达 A

我目前所做的是获取一个顶点的路径数,但是对每个顶点执行该查询有点慢,所以我想要一个能给我所有信息的查询

g.V().not(outE()).repeat(inE().outV().simplePath()).emit().dedup().count().next()

看来您的查询是正确的,只需添加 group 即可:

g.V().not(outE()).group()
.by(label())
.by(repeat(inE().outV().simplePath()).emit().dedup().count())

我测试了它here。似乎按预期工作