Neo4j - 如何使用params使用executeCypher来表达此查询

时间:2014-01-18 07:30:11

标签: lucene neo4j

我有这样的查询

start n = node:node_auto_index('ids:"123", "456" ... ') return n

这里123,456是一个密钥列表,作为单个参数{list}。现在,当我尝试用Java编写它时

String q = " START n=node:node_auto_index('key:{ids}') return n  "
Map<String, Object> map = new HashMap<String, Object>();
map.put("ids", keyList); // keyList is a list of strings

但是以某种方式调用graphstoreclient.executeCypher(q, map)失败并出现解析错误,你能否指出我的任何文档/正确语法。

PS - 此查询在控制台上正常工作。

1 个答案:

答案 0 :(得分:2)

由于您正在提供lucene查询字符串,请参数化整个字符串:

String q = " START n=node:node_auto_index({ids}) return n  "
Map<String, Object> map = new HashMap<String, Object>();
map.put("ids", keyList); 

keyList现在应该看起来像ids:"123", "456" ...