- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 ArangoDB 构建一个大型社交网络图。我在那里有数据 - 大约 35k 个顶点和大约 150k 个边。
我意识到这是一个非常多的数据,所以我希望一次只绘制一个子集 - 可能与起点相隔 2 或 3 度。
但如果 maxDepth 大于 1,即使我将 maxIterations 设置得非常低(比如 1),我也会收到 1909: too many iterations
错误
例如,这个查询给了我太多的迭代错误
GRAPH_TRAVERSAL('Friends', 'people/1342', 'outbound', {maxDepth: 2, maxIterations: 10})
如果我省略 maxIterations,我会得到同样的错误。
图形在 Web 界面中成功绘制,所以我认为问题不在于我的数据本身。我的图表中的数据是否超出了 ArangoDB 的处理能力?还是我做错了什么?
最佳答案
maxIterations
参数控制遍历在多少次迭代后自动中止。这种自动中止是为了防止你在循环图上运行遍历时无休止地遍历。
maxIterations
不控制遍历深度,而是控制遍历多少个顶点后停止并抛出错误。
下面是一个如何计算最大值的例子:遍历将从指定的起始顶点开始。这是第一次迭代。对于起始顶点,将确定所有传出(或传入)连接。假设从起始顶点开始有五个连接,因此下一轮遍历将考虑它们。因此,maxIterations
至少需要 6 的值(起始顶点为 1,下一轮为 5)。如果现在 5 个顶点中的每一个也都有 5 个连接,则至少需要 25 次迭代,因此您需要 maxIterations
值为 31。对于下一个级别,每个顶点有 5 个连接,您还需要 125 个等等。
因此对于每个级别,您不能简单地为 maxIterations
添加一个常量值。我们看到的序列 (1, 6, 31, 156) 显然是非线性的。您需要多少次迭代显然取决于基础数据和顶点的连接程度。
如果你想实现的只是将遍历深度限制在一定程度,你可以使用minDepth
或maxDepth
参数,并设置maxIterations
到一个非常高的值(这可能永远不会达到,因为遍历受 maxDepth
限制)。控制遍历数据量的进一步选项是direction
(any
将产生大部分结果并且更容易导致循环,使用inbound
或 outbound
尽可能)和 uniqueness
(控制访问给定顶点或连接边的频率)。
关于javascript - ArangoDB 图 maxDepth - 迭代太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28156884/
我想要一个针对 linux 中的 maxdepth 选项的标准 python 解决方案。我可以用 os.walk() 模拟 find 命令,但我想限制代码级别的深度。我不想在我的代码中使用 subpr
在我的项目中,我有一个来自 Client -> Projects 的一对多关系.因此,在我的一个观点中,我试图展示属于该客户的所有项目。所以我有一个 IEnumerable代表所有客户项目。 问题是
我们将 ASP.NET WebAPI 与 Entity Framework (延迟加载)一起使用,并在将数据返回给客户端之前使用 Json.NET 将数据序列化为 JSON。 我们正在经历内存使用量的
我正在尝试使用 ArangoDB 构建一个大型社交网络图。我在那里有数据 - 大约 35k 个顶点和大约 150k 个边。 我意识到这是一个非常多的数据,所以我希望一次只绘制一个子集 - 可能与起点相
我有一个带有 HTTP 绑定(bind)的 WCF 服务。 AppConif 文件 maxDepth="32"。这适用于除 ONE 以外的所有机器。 我的问题是当 maxDepth="32"时为什么这
我正在使用 JMS Serializer 包将 Symfony 实体序列化为 json。一切工作正常,直到我开始使用 MaxDepth 注释来避免深度递归。 我有一个名为“类别”的实体,其中有“子类别
我想打印子目录中的文件,该子目录位于根目录的 2 级内部。在 shell 中,我可以使用下面的查找命令 find -mindepth 3 -type f ./one/sub1/sub2/a.txt .
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有点困惑。我无法找出 PreserveReferences 和 MaxDepth 之间的区别。 假设我们有以下 DTO 和模型。 public class PersonEntity { pu
我有一些基于 Sphinx 的文档,用于我构建的库,我想显示除更改日志之外的所有页面的扩展目录。我通过将更改日志移到第二个 :toctree:: 来弄清楚如何做到这一点,但这有一些奇怪的行为。主要是,
MS CRM 2011 具体而言。这实际上是一个 4 个问题: 一个。为什么选择 8 作为默认限制? (它是任意的,原始深度计数器是 3 位整数(尽管执行上下文的深度是有符号的 32 位),开发人员只
MS CRM 2011 具体而言。这实际上是一个 4 个问题: 一个。为什么选择 8 作为默认限制? (它是任意的,原始深度计数器是 3 位整数(尽管执行上下文的深度是有符号的 32 位),开发人员只
希望有人能帮助解决这个问题: 我正在尝试使用此命令删除/tmp 上的 session 文件: find /tmp -name 'sess_*' -user Username -maxdepth 1 $
我只需要通过 JsonConvert.SerializeObject 序列化对象的第一层。我试过 MaxDepth = 1,但此属性仅用于反序列化。 期望的行为(属性栏缺失或为空): class Fo
我最近更新到最新的 spring mongodb 1.10 以尝试新的 $graphLookup 聚合器。但是,我似乎无法指定 graphLookup 的所有参数。 具体来说,我可以成功设置 star
我现在使用下面的 bash 脚本在每个 2 级深度目录中创建文件列表,并在每个特定文件夹中输出为文本文件。 但是,我只能将其命名为“File.txt”如何使用二级深度目录作为输出文本文件名 例如在列出
我在使用 向服务器发送消息时收到以下错误SignalR 2.0.0 : SignalR: The reader's MaxDepth of 20 has been exceeded. 我使用 Unit
我正在尝试使用 firebase teSTLab 为我的 android 应用程序自动执行“UI 测试”。我已经在 android studio 中保存了一个脚本,但想限制机器人进行任何进一步的猴子测
我有动态 CRM 8.2 本地实例,我想将 WorkflowSettings.MaxDepth 属性从最大深度 8 增加到 120。有人可以帮我确定一下,如果我将其增加到 120,会对我机器的 RAM
我有以下文件夹结构(作为一个最小的例子): dir ├── a │ ├── b │ │ ├── c.txt │ │ └── d.txt │ └── c │ └──
我是一名优秀的程序员,十分优秀!