如何在密码查询中引入参数?
How to introduce parameters in a cypher query?
我在 Python 程序中有这个密码查询:
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")
而且效果很好。
有谁知道错在哪里吗?
提前致谢。
您没有将任何替换变量传递给函数。
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())
我在 Python 程序中有这个密码查询:
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")
而且效果很好。
有谁知道错在哪里吗?
提前致谢。
您没有将任何替换变量传递给函数。
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())