使用GLV中的本地TinkerGraph

时间:2019-02-16 19:59:16

标签: python gremlin tinkerpop3

在gremlin控制台中,您可以轻松创建一个内存中的TinkerGraph来玩(或加载示例图之一):

gremlin> graph = TinkerGraph.open() 
gremlin> g = graph.traversal()

是否可以将此图形/其遍历源暴露给GLV(例如gremlin-python)?

我真的很惊讶这似乎不是问题。在GLV中轻松使用内存中的TinkerGraph可以:

  • 允许用户根据自己选择的语言来试用gremlin
  • 非常适合分析(例如,从位于远程数据库中的某个较大图形中对子图形的内存中副本执行查询)
  • 非常适合测试(即时生成图形以进行测试)

1 个答案:

答案 0 :(得分:3)

如果托管在Gremlin Server中,则只能使用Python访问TinkerGraph(或任何其他图形)。原因并不奇怪。 Gremlin语言变体是轻量级的,这意味着它们不是Gremlin虚拟机(GVM)的完整实现。没有完整的GVM(执行实际遍历执行),就无法实例化诸如TinkerGraph的图形实现。这就是为什么我们让Gremlin Server在JVM中托管GVM,让gremlin-python通过字节码进行对话。因此,至少您可以使用Python的本国语言来获得Gremlin的好处,但是您所获得的集成体验却不如Java。

我同意让TinkerGraph(或其他Python图形系统)在Python中运行将是一件很棒的事情,但是这将需要大量工作,因为您必须为Python构建GVM。