2016-10-10 13 views
0

私はPythonプログラムでこのCYPHERクエリを持っている:サイファークエリでパラメータを導入するにはどうすればよいですか?

prevNode = graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n") 

コードの行は、上記のこのエラーを与える:私はそれに印刷するので

'py2neo.database.status.ClientError: Expected a parameter named param'

のparamがよく、プログラムのこの時点で定義されていますクエリを実行する前に

私はこのように、代わりにパラメータのクエリで値を入れて試してみました:

prevNode = graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = '1234' RETURN n") 

、よく働きました。

誰が間違いを知っていますか?

ありがとうございます。

答えて

2

あなたは置換変数を関数に渡しませんでした。

graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n", param='1234') 

locals()辞書に明示的に渡すこともできます。適切な名前を定義したローカル変数を使用します。

graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n", **locals()) 
関連する問題