Python操作之Neo4j

目录

连接Neo4j图数据库

首先下载py2neo第三方包

pip install  py2neo

忘记neo4j密码

打开neo4j安装目录的dbms文件夹,找到auth文件并删除,重新启动neo4j,此时使用浏览器访问neo4j就可以使用默认的用户名密码登录,之后再修改自己的账号密码。
在这里插入图片描述

重启neo4j数据库可以打开服务,找到neo4j graph database进行重启
在这里插入图片描述

连接neo4j

from py2neo import Graph, Node, Relationship

##连接neo4j数据库,输入地址、用户名、密码
##注意:这句代码适用老版的py2neo,即适用于2021.1之前的
graph = Graph('http://localhost:7474', username='neo4j', password='lyq0807582')
##适用于新版
graph = Graph('http://localhost:7474', auth=("neo4j", "lyq0807582"))

matcher = NodeMatcher(graph) #创建关系需要用到

增加节点和关系

##创建结点
node_1 = Node(label='book', name='黄帝内经')  #label标签名book ,name属性名黄帝内经
node_2 = Node('book', name='素问')
node_3 = Node('book', name='灵枢')
node_4 = Node('book', name='内经')
graph.create(node_1)#节点创建到数据库
graph.create(node_2)
graph.create(node_3)
graph.create(node_4)

在这里插入图片描述

增加节点成功表示连接成功,可以进行相应的操作

# ##创建关系
# # 分别建立了node_1指向node_2和node_3,node_1指向node_4三条关系,关系的类型为"包括、包括、别称"。
node_1_include_node_2 = Relationship(node_1, '包括', node_2)
node_1_include_node_3 = Relationship(node_1, '包括', node_3)
node_1_elsename_node_4 = Relationship(node_1, '别称', node_4)
graph.create(node_1_include_node_2)
graph.create(node_1_include_node_3)
graph.create(node_1_elsename_node_4)

在这里插入图片描述
重复运行创建节点代码将会重复创建相同的节点

删除节点和关系

#删除指定节点,只删除一个没有关系节点
node=matcher.match('book').where(name='黄帝内经').first() #先匹配,叫黄帝内经的第一个结点
graph.delete(node)

在这里插入图片描述

#删除指定关系和节点
b = list(matcher.match('book').where(name='黄帝内经'))[0]
graph.delete(b)

在这里插入图片描述

查找节点和关系

#查找所有节点
for node in graph.nodes:
    print(graph.nodes[node])

在这里插入图片描述

#查询指定节点
n=graph.nodes.match("book")
for i in n:
    print(i)

在这里插入图片描述

#查找所有关系
rps = graph.relationships
for r in rps:
    print(rps[r])
#删除有关内经的节点和关系
try:
    graph.run('match(n:book{name:"内经"}) detach delete n')
    print('删除成功')
except:
    print('删除失败')

在这里插入图片描述

#转化为numpy数据
b = graph.run('match(n:book) return *').to_ndarray()
print(b)

在这里插入图片描述

#以字典列表的形式返回查询的结果数据
b = graph.run('match(n:book) return *').data()
print(b)
  • 13
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值