py2neo cypher查询错误:neo4j.SyntaxException
我正在尝试执行一个简单的带参数的cypher查询,但由于语法错误,它实际上失败了。
params = {
"k" : k,
"v" : v,
"p": {
"name": "marc"
}
}
query = "CYPHER 2.0 MATCH (n { { k } : { v } }) SET { p } RETURN n"
data, metadata = cypher.execute(graph_db, query, params=params)
...
SyntaxException: Invalid input '{': expected whitespace, comment, an identifier, '}' or UnsignedInteger (line 1, column 12)
"MATCH (n { { k } : { v } }) SET { p } RETURN n"
我使用的是py2neo 1.6.3和flask。
提前谢谢你们!
/Marc
1 个回答
1
参数只能在特定的地方使用。试试下面的语句:
MATCH (n { k : { valueParam } }) SET { n.name = { nameParam } } RETURN n
你的地图会包含:
params = {
"valueParam " : "v",
"nameParam " : "marc"
}
根据Cypher文档的说明:
参数不能用作属性名称、关系类型和标签,因为这些模式是查询结构的一部分,会被编译成查询计划。