我想根据func中传递的参数创建一个节点。在此createRelation函数中,一个节点称为“用户”,但其他节点可能存在也可能不存在。根据我想要创建的关系类型,我检查该类型的节点是否存在,如果不存在则创建关系。例如,新节点可以是书籍或汽车。
def createRelationship(self, nodeName, value):
query = """
MATCH (u:User {username: {you}})
MERGE (b:nodeName {name: {value}})
ON CREATE SET b.name = {value}
CREATE UNIQUE (u) - [:OWNS] -> (b)
"""
return graph.cypher.execute(query, you=self.username, nodeName=nodeName, value=value)
我知道node属性可以用作在{}中声明的参数,但是同样不适用于节点
答案 0 :(得分:0)
在CREATE(很可能是MERGE)语句aren't supported中看起来像动态标签。
那就是说,我不确定用SET命令添加标签是否也以同样的方式受到限制。虽然很明显,因为你的MERGE很大程度上没用,但我觉得你会有很多重复的东西。