在使用maxDepth进行遍历时> 2,系统抛出错误1909"迭代次数过多"。
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个对象。
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个边缘
答案 0 :(得分:2)
您好好只是出于好奇而尝试过:maxIterations
作为您的参数(请注意大写字母“I”)?
arangodb会忽略maxiterations
。
如果距离起始顶点有超过1个顶点2跳,则首先查询shuld实际上不起作用。如果遍历结果中最多只有1个元素,则只会返回maxIterations: 1
。
修改:现在maxIterations
和uniqueness
可以独立处理。
答案 1 :(得分:1)
谢谢,mchacki !!!!就是这样。 错字导致我完全走向错误的方向。 我没有找到关于maxIterations内涵的任何信息,因此完全误解了结果行为。
现在有了巨大的价值vor maxIterations即使是深度遍历也能得到结果!
再次感谢您的帮助!