Gremlin .repeat() 最大深度

Gremlin .repeat() max depth

我有一个数据集,其中包含代表一系列记录事件的数百条路径。我想知道平均事件路径有多长。它存储在一个非常简单的图表中,在 Azure Cosmos Graph DB 上有大约 50k 个节点。

我有一个如下所示的 gremlin 查询:

g.V().hasLabel('user').out('has_event').repeat(out('next').simplePath()).until(out().count().is(0))

遍历所有事件,直到事件链结束。

但是,我收到以下错误:Gremlin Query Execution Error: Exceeded maximum number of loops on a repeat() step. Cannot exceed 32 loops.我不知道 32 个循环的限制,我的分析想法会多次超过 32 个步长的路径。

有没有办法实现我正在尝试做的事情,或者 cosmos DB 在 32 个循环后真的 'stop'? Neo4j 等其他图形数据库怎么样?

那是一个limit of CosmosDB。我不知道其他 TinkerPop 实现有此限制,因此选择另一个图形数据库可能会解决您的问题。我怀疑限制是为了防止查询的扇出失控,因为图形的结构会极大地影响性能。