假设我需要使用电子邮件创建唯一节点,
如果我运行以下代码,它将使用相同的电子邮件创建2个节点
person_nod = Node("person", email="bob123@gmail.com")
graph.create(person_nod)
person_nod = Node("person", email="bob123@gmail.com")
graph.create(person_nod)
Run Code Online (Sandbox Code Playgroud)
我不知道如何避免使用neo4j复制节点
首先,如果您需要唯一节点,则应在标签person和属性上创建唯一性约束email:
graph = Graph()
graph.schema.create_uniqueness_constraint('person', 'email')
Run Code Online (Sandbox Code Playgroud)
现在,如果您尝试添加违反唯一性约束的节点,则会出现错误.即你的第二个创建语句将失败.
您也可以合并节点而不是创建节点.MERGE匹配现有节点或创建它们(如果它们不存在):
person_node = graph.merge('person', property_key='email', property_value='email@email.com')
Run Code Online (Sandbox Code Playgroud)
合并请参阅:http://py2neo.org/2.0/essentials.html#py2neo.Graph.merge
| 归档时间: |
|
| 查看次数: |
2500 次 |
| 最近记录: |