Graph 查找两个顶点之间的路径时orient DB的检索时间

Graph 查找两个顶点之间的路径时orient DB的检索时间,graph,gremlin,orientdb,Graph,Gremlin,Orientdb,我们有一个需要使用graph db的用例 10000个节点和1000000条边(大约) 现在我需要这样提问。对于任意两个顶点,找到它们之间的所有可能路径 origntDb需要多少时间?我希望检索时间非常短。origntDb支持吗 两个顶点的距离约为20。但每个顶点可能有大约10条外边缘。使用OrientDB附带的最短路径()函数: select shortestPath(#8:32, #8:10) 其中2个RID是2个节点的记录ID。对于Gremlin中顶点1和2之间的所有路径,请执行以下操作

我们有一个需要使用graph db的用例

10000个节点和1000000条边(大约)

现在我需要这样提问。对于任意两个顶点,找到它们之间的所有可能路径

origntDb需要多少时间?我希望检索时间非常短。origntDb支持吗

两个顶点的距离约为20。但每个顶点可能有大约10条外边缘。

使用OrientDB附带的最短路径()函数:

select shortestPath(#8:32, #8:10)

其中2个RID是2个节点的记录ID。

对于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]

Marko.

谢谢你的回复。但我的问题是关于检索时间和性能。对所有路径(不仅是最短路径)进行这种检索需要多长时间?我在我的原始帖子中已经详细提到了。你能对此发表评论吗?使用热缓存,这可能需要不到10毫秒的时间,但这取决于您的硬件/软件配置以及顶点的连接方式。@Marko,第二个示例是否会陷入无限循环中,因为Gremlin执行深度优先搜索?到今天为止,我认为这些处理循环的示例都不起作用。