Java TinkerGraph上的Gremlin InMemory客户端
在我的java项目中,我可以在内存中创建“Java TinkerGraph上的Gremlin InMemory客户端,java,gremlin,tinkerpop3,tinkergraph,Java,Gremlin,Tinkerpop3,Tinkergraph,在我的java项目中,我可以在内存中创建“GraphTraversalSource”,并且可以轻松创建遍历查询。但是我想知道如何创建像client.submit(query)这样的脚本查询 我需要从TinkerGraph创建客户端对象。然后我想调用client.submit(query)querys 有什么建议吗?我认为最简单的方法是引用gremlingroovy模块并创建GremlinGroovyScriptEngine实例()。然后你可以做: Graph graph = TinkerGrap
GraphTraversalSource
”,并且可以轻松创建遍历查询。但是我想知道如何创建像client.submit(query)
这样的脚本查询
我需要从TinkerGraph创建客户端对象。然后我想调用client.submit(query)
querys
有什么建议吗?我认为最简单的方法是引用gremlingroovy
模块并创建GremlinGroovyScriptEngine
实例()。然后你可以做:
Graph graph = TinkerGraph.open();
ScriptEngine engine = new GremlinGroovyScriptEngine();
Bindings b = new SimpleBindings();
b.put("g", graph);
Traversal t = (Traversal) engine.eval("g.V()", b);
请注意,client.submit()
用于将Gremlin提交到与Gremlin服务器兼容的系统。在这种情况下使用TinkerGraph意味着在Gremlin服务器中托管TinkerGraph。这并不能解决我的问题。但这看起来是个不错的建议。没有办法“从TinkerGraph创建客户机对象”。我认为你的问题是想在你的应用程序中处理小精灵脚本。我不知道如何解释你的问题。也许你应该重申一下?stephen,我可以将遍历(来自engine.eval)转换为ResultSet或类似于client.submit()的结果返回类型
(来自典型的客户端…?client.submit(traversal)
——但我无法想象你为什么要这样做。听起来我的方法比你需要的要复杂得多;为客户端编写单元测试。我想在测试中使用engine.eval(“query”);在生产中使用client.submit(“查询”)。在这里,查询将是相同的,测试和生产的执行将不同。
Graph graph = TinkerGraph.open();
ScriptEngine engine = new GremlinGroovyScriptEngine();
Bindings b = new SimpleBindings();
b.put("g", graph);
Traversal t = (Traversal) engine.eval("g.V()", b);