Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TinkerGraph上的Gremlin InMemory客户端_Java_Gremlin_Tinkerpop3_Tinkergraph - Fatal编程技术网

Java TinkerGraph上的Gremlin InMemory客户端

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

在我的java项目中,我可以在内存中创建“
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);