2016-07-06 56 views
0

我想创建一个基于在func中传递的参数的节点。在这个createRelation函数中,一个节点是已知的“用户”,但其他节点可能存在也可能不存在。根据我想要创建的关系类型,我检查该类型的节点是否存在,如果不创建并创建关系。例如,新节点可能是一本书或一辆汽车。通过函数调用在py2neo中创建节点

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) 

我知道节点属性可以用来作为一个由内声明的参数传递{},但同为节点

回答

0

貌似动态标签不工作在CREATE(而且很有可能合并)陈述aren't supported

这就是说,我不确定用SET命令添加标签是否以相同的方式受到限制。虽然显然这样做会少得多,因为你的MERGE很大程度上是无用的,我想你会有很多重复的东西。