在之前文章中介绍了如何向数据库中添加属性
但如果节点已经存在于数据库中,该如何添加呢

首先照常,先打开neo4j,pycharm,启动数据库,连接
建立两个测试节点

graph.create(node1)
graph.create(node2)

建立完成
我们先来试一下如果直接创立relationship然后create到graph中会发生什么(注意这边要把create语句注释掉避免混淆)

relation1 = "teaches"
# graph.create(node1)
# graph.create(node2)
relationship = Relationship(node2, relation1, node1)
graph.create(relationship)

结果

很明显这种方法重新建立了两个节点。。并没有对原先两个节点操作,观察两组节点,发现它们除了id不同之外其他完全相同

正确方法如下(这个方法是我在尝试中发现的,并不算是最好的答案,如果有什么问题可以在评论中提出)

就是通过匹配找到的两个目标节点,在此基础上建立关系,当然match括号中可以有多个条件,并不只有一个条件

relation1 = "teaches"
# graph.create(node1)
# graph.create(node2)
existed1 = list(graph.nodes.match(name="Jackson"))
existed2 = list(graph.nodes.match(name="Lisa"))

if len(existed1) & len(existed2):
    relationship = Relationship(existed1[0], relation1, existed2[0])
    graph.create(relationship)

结果证明方法有效

成功结果

将会继续深入研究相关内容

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议