我使用py2neo将python连接到neo4j数据库。那么我试图执行一个查询来设置一些节点的标签名,但是标签名是一个参数。这是我的密码
for nodeID in nodesIDs:
nodes=nodesIDs[nodeID]
r=graph.cypher.execute("MATCH (d:node00) WHERE d.name in{x} SET d:{ID} RETURN d.name",{"x":nodes,"ID":nodeID})
print len(r)
但是这给我一个错误说"Invalid input '(': expected whitespace or a label name"
请告知
让我们看看您正在执行的查询:
其中参数
x
可能是一个字符串数组,而参数ID
是一个字符串。在以下是一些需要考虑的问题:
SET d:{ID}
将不起作用。相反,在python脚本中使用字符串连接将标签作为字符串查询的一部分而不是作为参数:"...SET d:" + str(newLabel) + ...
x
实际上是一个字符串数组,并确保子句WHERE d.name IN {x}
(在IN
和{x}
之间的空格)中有适当的间距空格在Cypher查询中非常重要。在将查询放入Python包装器之前,请确保查询在neo4jshell中实际运行。在
相关问题 更多 >
编程相关推荐