如何使用查询字符串在TinkerGraph中运行查询?



我想在TinkerGraph中运行一些查询,但我需要从外部文本文件读取它们,而不是执行Java调用:

TinkerGraph graph = TinkerGraph.open();
GraphTraversalSource g = graph.traversal();

InputStream input = new FileInputStream("graph.json");
GraphSONReader reader = GraphSONReader.build().create();
reader.readGraph(input, graph);
// Something like
run("g.V().hasLabel("foo").."

我已经检查了这个问题,但是答案显示了一些使用ConcurrentBindings的解决方案,这对我来说不是很清楚。

您可以使用GremlinGroovyScriptEngine类来执行文本字符串查询的求值,同时使用嵌入式TinkerGraph。如果使用Gremlin服务器,则不需要执行此操作。

下面的例子应该或多或少地工作不变。您可能需要从Java代码中添加一些include和类型声明语句,但基本的构建块本质上是这些:

ScriptEngine engine = new GremlinGroovyScriptEngine(); 
Bindings bindings = engine.createBindings(); 
bindings.put("g", graph.traversal()); 
engine.eval("g.V().limit(5)", bindings);

相关内容

  • 没有找到相关文章

最新更新