Gremlin TinkerPop架构:需要澄清吗

Gremlin TinkerPop架构:需要澄清吗,gremlin,tinkerpop3,Gremlin,Tinkerpop3,我最近采用了Gremlin,并试图拼凑出对TinkerPop架构的理解。下图是否正确识别了所示组件之间的关系 该图表已根据Stephen Mallete的评论进行了修订 有许多不同的方式可以将图形数据库视为启用了TinkerPop,并且该定义在十年左右的时间里发生了变化,TinkerPop已经出现在这一点上。因此,我可以确认您对Gremlin控制台和支持TinkerPop的图形数据库之间的交互的描述基本上是正确的,但实际上只是确定了一种方法。我之所以说“基本正确”,是因为Gremlin控制台通常

我最近采用了Gremlin,并试图拼凑出对TinkerPop架构的理解。下图是否正确识别了所示组件之间的关系

该图表已根据Stephen Mallete的评论进行了修订

有许多不同的方式可以将图形数据库视为启用了TinkerPop,并且该定义在十年左右的时间里发生了变化,TinkerPop已经出现在这一点上。因此,我可以确认您对Gremlin控制台和支持TinkerPop的图形数据库之间的交互的描述基本上是正确的,但实际上只是确定了一种方法。我之所以说“基本正确”,是因为Gremlin控制台通常不发送字节码,而是发送用户在按enter键之前键入的实际文本,即服务器处理的脚本。它进一步假设Gremlin控制台配置为
:远程连接,并且不使用本地建立的图形


有些图可以使用
:远程
连接,但实际上没有“Gremlin服务器”…它们只会实现Gremlin服务器协议,因此有自己的方法来处理这些脚本

谢谢,这很有帮助。我修改了图表,以反映我对你所说内容的理解。这给我留下了一个后续问题:GTM是否也接受纯文本查询,然后将其解析为字节码以执行,或者是否有一些外部代码来处理这个问题(请参考红色圆圈)?非常感谢您提供的任何进一步见解!如果您在本地实例化了一个
GraphTraversalSource
,那么Gremlin控制台只会发送字节码,这样控制台本身就不会向Gremlin服务器发送任何东西了……在这种情况下,它更多地是您在本地评估的代码的函数。至于你关于红圈的问题,我想那可能是一个需要脚本并编译成JVM字节码来执行的小精灵。完美的谢谢你帮我填补这些漏洞!Gremlin服务器侦听端口并处理websocket/网络协议级别的事件。它承载着一个
小精灵
。我认为GTM是“遍历对象”
,所以我不认为它是“交给GTM的”——它更多的是一个逻辑概念,而不是一个具体的概念。当存在字节码的
GremlinScriptEngine.eval()
时,您将得到一个
遍历
对象,该对象已准备好进行迭代以获得结果。当
GremlinScriptEngine
完成脚本的
eval()
时,您将获得编译后的JVM字节码,如果该编译后的JVM字节码中包含
遍历
,则该字节码将被执行。它是gremlin core中的一个接口,在gremlin groovy和gremlin python中有实现。groovy one要高级得多,您可能只需要关注它。如果您还有其他问题,请考虑只发给GRMLIN用户邮件列表:可能比这里更容易解决这里的详细问题。