我们有一个用例,我们需要使用图形db.There around
10000个节点和1000000个边缘(大约)。
现在我需要像这样查询。对于任何2个顶点,找到它们之间的所有可能路径。
origntDb需要花多少时间?我希望回溯时间非常短。这是由orientDB支持的吗?
两个顶点的距离约为20.但每个顶点可能有大约10个出边。
答案 0 :(得分:1)
使用与OrientDB捆绑的shortestPath()函数:
select shortestPath(#8:32, #8:10)
其中2个RID是2个节点的记录ID。
答案 1 :(得分:1)
对于Gremlin中顶点1和2之间的所有路径,请执行:
g.v(1).out.loop(1){true}{it.object.id==2}.path
当然,如果你有周期,所有可能的路径都是无限的,所以你可能想要这样做:
g.v(1).out.loop(1){true}{it.object.id==2}.path[0..100]
...最多获得100条路径。您也可以执行此操作以删除循环路径:
g.v(1).out.simplePath.loop(2){true}{it.object.id==2}.path[0..100]
马尔科。