尝试在py2neo中编写一个泛型函数,它可以根据参数中传递的属性和值更新Neo4j中的任何节点属性。我试过这样的事情
def updateUserProfile(self, property, value):
query = """
MATCH (n { username: {user} }) SET n.{property} = {value} RETURN n
"""
return graph.cypher.execute(query, user=self.username, property=property, value=value)
但是我收到了一个错误 py2neo.cypher.error.statement.InvalidSyntax:输入无效' {':预期的空格或属性键名称(第2行,第38列(偏移量:46)) " MATCH(n {username:{user}})SET n。{property} = {value} RETURN n"
指向{property}。指定要设置的属性是否正确?
答案 0 :(得分:0)
不,你不能设置这样的属性。
最好的方法是使用dict作为你的属性:
def updateUserProfile(self, property, value):
query = """
MATCH (n { username: {props}.user }) SET n += {props} RETURN n
"""
props = {}
props["user"] = self.username
props[property] = value
return graph.cypher.execute(query, {"props": props})