从 gremlin-python 进行直接的 gremlin 查询



我在使用 gremlin-python 时遇到了几个问题,这些问题在纯 gremlin 中并非如此:

  • 我不能直接选择给定的顶点类型(g.V('客户'((,而不迭代所有顶点(g.V((.hasLabel('customer'((
  • 我收到来自 Python 的"达到最大递归"错误。格里姆林中的相同查询工作流畅而快速
  • ".next(("命令在 gremlin-python 中工作得非常慢,而在 gremlin 中需要 1 秒

因此,从 Python/gremlin-python,我希望能够对服务器进行纯 gremlin 查询,并将其结果直接存储在 Python 变量中。这可能吗?

(如果这很重要,我在Apache Zeppelin上使用gremlin-python(

我不能直接选择给定的顶点类型(g.V('customer'((,而不迭代所有顶点(g.V((.hasLabel('customer'((

g.V('customer')在 Gremlin 中的意思是"查找 ID 为'客户'的顶点",而不是"查找带有标签'客户'的顶点"。对于后者,您需要g.V().hasLabel('customer')写的内容.这些规则在Gremlin的每个变体中都是相同的,包括Python。而且,您是正确的,像g.V().hasLabel('customer')这样的查询会很昂贵,因为优化此类操作的图形并不多。在大型图形上,这通常被视为使用 Gremlin Spark 执行的 OLAP 查询。

我收到来自 Python 的"达到最大递归"错误。格里姆林中的相同查询工作流畅而快速

这是一个错误。现已解决,但修复程序未发布到 pypi。目前正在准备一个版本,因此您将在 3.2.10 和 3.3.4 上看到此信息。如果您需要立即补丁,您可以看到修复程序相当微不足道。

".next(("命令在 gremlin-python 中工作得非常慢,而在 gremlin 中需要 1 秒

我不确定你到底看到了什么。我认为您可能希望更详细地了解您的环境,并详细说明如何重现差异。也许你应该把这个问题带到gremlin用户邮件列表中。

因此,从 Python/gremlin-python,我希望能够对服务器进行纯 gremlin 查询,并将其结果直接存储在 Python 变量中。这可能吗?

这是完全可能的,这正是gremlin-python的本意。它使您能够用 Python 编写 Gremlin,并从服务器获取结果,以便在客户端根据需要进行处理。

相关内容

  • 没有找到相关文章

最新更新