我显然误解了 python Neo4j 模块中 session.run 方法的格式。
这有效:
session.run("statement1"
"statement2"
"statement3"
"statement4", variable list)
但是现在我需要在方法外部修改字符串:例如我想做
s1 = "statement1"
s2 = "statement2"
session.run(s1
s2
"statement3"
"statement4", variable list)
这样我就可以以 .run 方法无法处理的方式修改语句 - 例如动态修改标签。
但我收到一个语法错误
我不明白为什么这不起作用。我究竟做错了什么?如何将诸如标签名称之类的变量引入到这样的运行命令中?
谢谢
实际代码是这样的:
s1 = "MERGE (a:Animal:Female {tag: {tag}})"
session.run(s1
" MERGE (d:Animal:Female {tag: {dam}})"
"MERGE (s:Animal:Male {tag: {sire}})"
"MERGE (d)-[:DamTo{dob:{dob}}]->(a)"
"MERGE (s)-[:SireTo{dob:{dob}}]->(a)" , tag = tag, dob = dob, dam = dam, sire = sire )
错误信息:
" MERGE (d:Animal:Female {tag: {dam}})"
^
SyntaxError: invalid syntax
在 Python 中,相邻的字符串文字会自动连接。但是,字符串变量不支持自动连接。
尝试改变这个:
s1
" MERGE (d:Animal:Female {tag: {dam}})"
对此:
s1 +
" MERGE (d:Animal:Female {tag: {dam}})"
其他自动连接应该仍然有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句