neo4j入门(三) 在数据库已知存在的节点上创建新的边

from py2neo import Graph, Node, Relationship
from py2neo import  NodeSelector

graph = Graph("http://localhost:7474", username="neo4j", password='root')
graph.delete_all() # 清空数据库

'''
1 —— 创建node,函数第一个参数是节点类型,第二个参数是value值
'''
a = Node('PersonTest', name='张三')
b = Node('PersonTest', name='李四')
r = Relationship(a, 'KNOWNS', b)
s = a | b | r
graph.create(s)
def findHasNode(label,name):
    data2 = graph.find_one(label=label, property_key='name', property_value=name)
    if(data2 == None):
        return 0
    else:
        return data2
def createRelationship(t1,t1_name,t2,t2_name):
    # t1 = 'PersonTest' #哪种类型的节点
    # t1_name = '张三'
    # t2 = 'PersonTest'
    # t2_name = "王五"
    tempDate = findHasNode(t1,t1_name)
    tempDate2 = findHasNode(t2,t2_name)
    if(tempDate == 0):#如果没有tempDate这个节点就创建这个节点,并进行返回这个节点
        graph.create(Node(t1,name = t1_name))
        tempDate = findHasNode(t1, t1_name)
    if(tempDate2 == 0):#如果没有tempDate2这个节点就创建这个节点,并进行返回这个节点
        graph.create(Node(t2,name = t2_name))
        tempDate2 = findHasNode(t2,t2_name)
    graph.create(Relationship(tempDate, "hahaha", tempDate2))

t1 = 'PersonTest' #哪种类型的节点
t1_name = '张三'
t2 = 'PersonTest'
t2_name = "王五"
createRelationship(t1,t1_name,t2,t2_name)

思路很简单,就是先判断这个节点在没在数据库,在的话,就找到这个节点,然后再这个节点上面创建边
一开始的图:
在这里插入图片描述

后续再这个节点上增加了 王五:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值