Как параметризовать запрос Gremlin в Java?

Я заинтересован в параметризации запроса Gremlin в коде Java, как мы это делаем в случае запроса SQL с использованием PreparedStatement (пример: Statement.setString(int, String), Statement.setInt(int, int)).

Пожалуйста, дайте мне знать, можем ли мы делать такие вещи в запросе Java для Gremlin.

Заранее спасибо.

С уважением, Камаль

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}

Проверьте это на 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

Другие вопросы по тегам