我在Python程序中有这个cypher查询:
prevNode = graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = {param} RETURN n")
上面的代码行给出了这个错误:
'py2neo.database.status.ClientError:期望一个名为param'的参数'
param在程序的这一点上定义得很好,因为我在执行查询之前打印了一行。
我试图将值放在查询中而不是参数中,如下所示:
prevNode = graph_db.data("OPTIONAL MATCH (n:Node) WHERE n.property = '1234' RETURN n")
运作良好。
有谁知道错误在哪里?
提前致谢。
答案 0 :(得分:3)
您没有将任何替换变量传递给函数。
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())