2013-11-26 136 views
0

我們在我們的java服務器中使用Neo4j 2.0 RC1。我們參數化我們密碼中的變量。我們的一個密碼使用IN子句,例如如何使用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

我複製了你的代碼片段,它適用於我。當你運行它會發生什麼? – jjaderberg

+0

我收到了一個導致錯誤的錯誤。事情工作得很好 –

回答

2

neo4j rocks !!

事情按預期/期望工作。我在代碼的其他地方得到了一個錯誤,否則下面的代碼片段工作得很好:

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); 
相關問題