在找到2个顶点之间的路径时检索orientDB的时间

时间:2013-01-25 10:24:30

标签: graph gremlin orientdb

我们有一个用例,我们需要使用图形db.There around

10000个节点和1000000个边缘(大约)。

现在我需要像这样查询。对于任何2个顶点,找到它们之间的所有可能路径。

origntDb需要花多少时间?我希望回溯时间非常短。这是由orientDB支持的吗?

两个顶点的距离约为20.但每个顶点可能有大约10个出边。

2 个答案:

答案 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]

马尔科。