将参数作为属性名称传递时出现错误。通过编写{param}将参数作为属性值传递时,没有出现任何错误。但这在将参数作为属性名称传递的情况下不起作用。
这是我的代码。
query = 'Merge(c1:Customer{user_id: {user_id1},{user_id2}:{cell}})'
g.run(query, user_id1=int(row['user_id']), user_id2=str(cidx),cell=cell)
这里cidx, cell, row['user_id']
是参数。
{user_id1}
参数有效。
但是添加属性名称并不需要使用{user_id2}
作为参数
答案 0 :(得分:0)
密码查询无法通过属性名称进行参数设置。
参数可用于:
参数不能用于以下构造,因为它们构成了被编译成查询计划的查询结构的一部分:
属性键;因此,MATCH (n) WHERE n.$param = 'something'
无效
关系类型
标签
有关更多详细信息,请参见Neo4j Documentation。
编辑:
您可以格式化字符串以将属性名称添加为:
query = 'Merge(c1:Customer{user_id: {user_id1}, %s :{cell}})' % str(cidx)
从运行方法中删除参数 user_id2
:
g.run(query, user_id1=int(row['user_id']), cell=cell)