如何在Java中参数化Gremlin查询?

时间:2016-01-05 04:37:27

标签: titan gremlin rexster

我对使用PreparedStatement(例如:statement.setString(int,String),statement.setInt(int,int))进行SQL查询时参与Java代码中的Gremlin查询感兴趣。

请告诉我,我们可以用Java来进行Gremlin查询。

提前致谢。

此致 哈拉

2 个答案:

答案 0 :(得分:2)

对于那些为Titan 1.x和TinkerPop 3.x寻找答案的人:

gremlin> cluster = Cluster.open()
==>localhost/127.0.0.1:8182
gremlin> client = cluster.connect()
==>org.apache.tinkerpop.gremlin.driver.Client$ClusteredClient@412c995d
gremlin> client.submit("g.V(start).valueMap(m)",[start:1L, m:(['name','age'] as String[])]).all().get()
==>result{object={name=[marko], age=[29]} class=java.util.HashMap}

答案 1 :(得分:1)

https://github.com/tinkerpop/rexster/wiki/RexPro-Java

上查看

尽可能参数化Gremlin脚本,因为这会带来更好的整体性能。以上示例可以作为参数化请求完成,如下所示:

RexsterClient client = RexsterClientFactory.open("localhost", "tinkergraph");
List<Map<String, Object>> results = client.execute("g.v(start).map", 
new HashMap<String, Object>(){{
    put("start", 1);
}});
Map<String, Object> map = results.get(0);
System.out.println(map.get("name"));

的Akshaya