遍历中的maxiterations产生错误1909,尽管没有循环(arangodb)

时间:2014-11-26 12:45:59

标签: arangodb

在使用maxDepth进行遍历时> 2,系统抛出错误1909"迭代次数过多"。

示例1工作(使用maxiterations:1 maxdepth:2)

FOR end_vertex IN TRAVERSAL(categories,subcategoryOf,         "类别/ 1410476323","入站",         {策略:" breadthfirst",顺序:" postorder",itemOrder:" forward",minDepth:2,         maxiterations:1,maxDepth:2,路径:false,         唯一性:{vertices:" global&#34 ;, edges:" global" }})     RETURN end_vertex.vertex._id

- >它返回大约700个对象。

示例2无效(maxdepth:3,即使有maxiterations:1000000)

FOR end_vertex IN TRAVERSAL(categories,subcategoryOf,         "类别/ 1410476323","入站",         {策略:" breadthfirst",顺序:" postorder",itemOrder:" forward",minDepth:2,         maxiterations:1000000,maxDepth:3,路径:false,         唯一性:{vertices:" global&#34 ;, edges:" global" }})     RETURN end_vertex.vertex._id

- >通常它应该返回大约4500个对象。 但它抛出了这个错误1909"迭代太多(执行时)"。

我认为由于独特性参数循环不会被遵循, 所以他们不能成为迭代的原因,对吗?

任何人都可以给我一个提示,根本原因是什么?

最诚挚的问候, 斯蒂芬

P.S。:图表总共有大约200,000个顶点和500,000个边缘

2 个答案:

答案 0 :(得分:2)

您好好只是出于好奇而尝试过:maxIterations作为您的参数(请注意大写字母“I”)? arangodb会忽略maxiterations。 如果距离起始顶点有超过1个顶点2跳,则首先查询shuld实际上不起作用。如果遍历结果中最多只有1个元素,则只会返回maxIterations: 1

修改:现在maxIterationsuniqueness可以独立处理。

答案 1 :(得分:1)

谢谢,mchacki !!!!就是这样。 错字导致我完全走向错误的方向。 我没有找到关于maxIterations内涵的任何信息,因此完全误解了结果行为。

现在有了巨大的价值vor maxIterations即使是深度遍历也能得到结果!

再次感谢您的帮助!