如何使用 TinkerPop API 提交带有参数替换的 Gremlin 查询

问题描述 投票:0回答:0

我想执行同一个 gremlin 语句数百万次,只是改变一个参数。 tinkerpop 文档表明您应该能够使用如下语法:

Map<String,Object> params = new HashMap<>();
params.put("x",4);
client.submit("[1,2,3,x]", params);

我的说法不同,但功能相同。它看起来像这样:

Map<String,Object> params = new HashMap<>();
params.put("applicationID", "9b1ef8ce3baabafe5167d276bb07d829")
ResultSet rs = client.submit("g.V().hasLabel('application').has(T.id, applicationID)", params);

但我得到:

java.util.concurrent.CompletionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: {"detailedMessage":"Failed to interpret Gremlin query: Query parsing failed at line 1, character position at 52, error message : token recognition error at: 'ap'","code":"MalformedQueryException","requestId":"fd0ca287-f81d-4cb8-9a3d-cd2f9d003e3c"}

很明显不喜欢参数名称“applicationID”

我试过用引号括起来,但当然,它会被视为字符串文字。

java gremlin tinkerpop
© www.soinside.com 2019 - 2024. All rights reserved.