2013-05-27 80 views
1

如何在類似的東西中指定參數 - WHERE a.name IN ["Peter", "Tobias"]。我試圖將IN運算符之後的集合作爲Cypher中的參數傳遞。我通過REST API使用Cypher。參數化集合:IN運算符WHERE子句Cypher REST

這是我的例子:

curl -X POST http://localhost:7474/db/data/ext/CypherPlugin/graphdb/execute_query -H "Content-Type: applicatio/json" --data-binary '{ 
    "query": "start ca=node:ca({search_ca_query}) MATCH ca_club-[:has]-ca WHERE (ca_club.CA_CLUB IN {CA_CLUB}) RETURN distinct ca.NUM_OFC_CA, ca.NME_CA, ca_club.CA_CLUB", 
    "params": { 
     "search_ca_query": "NUM_OFC_CA:(\"000333\", \"111033\", \"222197\")", 
     "CA_CLUB": "[\"Driad\", \"No-Club\"]" 
    } 
}' 

我也試着在查詢交換方括號,但即使這樣也沒有工作。 (即我沒有得到任何錯誤,但得到一個空列表 -​​

如何做到這一點的任何建議

回答

3

in參數必須是一個列表:?

curl -X POST http://localhost:7474/db/data/ext/CypherPlugin/graphdb/execute_query -H "Content-Type: applicatio/json" --data-binary '{ 
    "query": "start ca=node:ca({search_ca_query}) MATCH ca_club-[:has]-ca WHERE (ca_club.CA_CLUB IN {CA_CLUB}) RETURN distinct ca.NUM_OFC_CA, ca.NME_CA, ca_club.CA_CLUB", 
    "params": { 
     "search_ca_query": "NUM_OFC_CA:(\"000333\", \"111033\", \"222197\")", 
     "CA_CLUB": ["Driad", "No-Club"] 
    } 
}'