我们正在使用嵌入在我们的java服务器中的Neo4j 2.0 RC1。我们在我们的密码中对变量进行参数化。我们的一个密码使用IN子句,例如
MATCH (a) WHERE a.name IN ["Peter", "Tobias"] RETURN a
所以我尝试过这样的事情:
String cypher = "MATCH (a) WHERE a.name IN {names} RETURN a";
Map<String, Object> params = new HashMap<>();
List<String> names = new ArrayList<>();
//add some names to the names list
params.put("names", names);
ExecutionResult result = engine.execute(cypher, params);
它显然不起作用,我如何参数化IN运算符?
答案 0 :(得分:2)
neo4j摇滚!
事情按预期/期望工作。我在代码中的其他位置有一个错误,否则以下代码段工作正常:
String cypher = "MATCH (a) WHERE a.name IN {names} RETURN a";
Map<String, Object> params = new HashMap<>();
List<String> names = new ArrayList<>();
//add some names to the names list
params.put("names", names);
ExecutionResult result = engine.execute(cypher, params);