2014-11-25 136 views
0

Cypher支架Http請求,我想用一些參數,如執行一個HTTP暗號查詢:與匹配參數

{"statements": 
[ 
    {"statement":"MATCH path=(p:Person {props})-[*..100]->() RETURN [n in nodes(path)]", 
    "parameters":{"props":{"name":"Lucille"}} 
    } 
] 
} 

但是我得到以下錯誤Parameter maps cannot be used in MATCH patterns (use a literal map instead, eg. \"{id: {param}.id}\")

我不知道如何在這裏使用文字地圖。

感謝您的幫助!

回答

2

你可以有:

{ 
    "statements": [{ 
    "statement": "MATCH path=(p:Person { name: {name} })-[*..100]->() ...", 
    "parameters": { "name": "Lucille" } 
    }] 
} 

MATCH path=(p:Person { name: props.{name} }) ...,同時保持你最初的parameters

的原因是this comment給出:

「與CREATE中的屬性不同,MATCH要求地圖是文字。這是因爲在編譯查詢時必須事先知道屬性名稱,以便高效地規劃其執行。「

+0

太好了,謝謝! – matth3o 2014-11-25 18:28:16

1

我覺得您的查詢就會變成:

MATCH path=(p:Person {id: {props}.id })-[*..100]->() 
RETURN [n in nodes(path)]