[英]I am using py2neo to connect python to neo4j database
我正在使用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"
请指教
在Cypher查询中,空格很重要。 在将查询放入Python包装程序之前,请确保您的查询实际上在Neo4j Shell中运行。
让我们看一下您正在执行的查询:
MATCH (d:node00)
WHERE d.name IN {x}
SET d:{ID}
RETURN d.name
其中参数x
大概是字符串数组,而参数ID
是字符串。
这里有几点要考虑:
SET d:{ID}
将不起作用。 而是在您的python脚本中使用字符串连接,以将标签作为字符串查询的一部分而不是作为参数: "...SET d:" + str(newLabel) + ...
x
实际上是一个字符串数组,并确保在WHERE d.name IN {x}
子句中有适当的间距( IN
和{x}
之间的空格)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.