设置gremlin遍历的获取大小

时间:2013-11-11 21:26:06

标签: neo4j gremlin titan tinkerpop

有没有办法设置gremlin遍历的获取大小。我有一个非常复杂的遍历,我在gremlin做。遍历预计将导致大量节点,并且迭代将批量获取这些节点,因此在网络上花费了很长时间。有没有办法为gremlin提供一个提取大小,以便最小化这个时间。

1 个答案:

答案 0 :(得分:0)

Gremlin本身没有选项可以做到这一点。通过执行Gremlin的方式来处理对这种事物的控制。例如,如果您使用Titan和Cassandra,您可以更改此设置:

storage.cassandra.thrift.frame_size_mb

控制thrift用于传输的最大帧大小。检索非常大的结果集时,可以增加此值。您可以阅读有关其他此类设置here以及其他特定于实现的配置Wiki页面的更多信息。

另一个例子,就是将你的Gremlin发给Rexster。在这种情况下,您开箱即用的选项较少。 Rexster通常最适合快速请求/响应。如果您有提前知道的遍历将是大型结果集,那么编写自己的Rexster Extension可能会更好。一个很好的例子就是FaunusRexsterInputFormatExtension的工作原理。此扩展提供了一种流式传输整个Graph的指定部分的方法。这些是通过HTTP进行的非常长时间的操作(当然是在大图上)。您可能会发现这是一个很好的模型。