Python图数据库neo4j学习实践

       在之前的博客里面已经完整安装和启动了neo4j数据库了,今天想找一点时间学习使用一下neo4j这个图数据库,从网上搜了一点人物关系的数据,因为在图数据库中,节点就是实体,边就是关系,所以这里想简单使用人物关系数据来构建一下图数据库模型,具体的实现如下所示:

#!usr/bin/env python
# encoding:utf-8
from __future__ import division

"""
__Author__:沂水寒城
功能: Python操作neo4j实践图数据库使用
"""


import os
import sys
import json
from py2neo import Graph,Node,Relationship
 

reload(sys)
sys.setdefaultencoding('utf-8')

##连接neo4j数据库
graph=Graph(
            'http://localhost:7474',
             username='neo4j',
             password='neo4j'
            )
#清除图数据
graph.delete_all()
#创建结点
with open('data.txt') as f:
    data_list=[one.strip().split('###') for one in f.readlines() if one]
have_list=[]
node_list=[]
map_dict={}
for one_relation in data_list:
    P1,P2,relation,weight=one_relation
    if P1 not in have_list:
        have_list.append(P1)
        one_node=Node('sougou',name=P1)
        node_list.append(one_node)
        map_dict[P1]=one_node
    if P2 not in have_list:
        have_list.append(P2)
        one_node=Node('sougou',name=P2)
        node_list.append(one_node)
        map_dict[P2]=one_node

for one_node in node_list:
    graph.create(one_node)
 
#创建关系
for one_relation in data_list:
    P1,P2,relation,weight=one_relation
    one_link=Relationship(map_dict[P1],relation,map_dict[P2])
    one_link['count']=weight
    graph.create(one_link)
 

print(graph)

        使用到的部分数据截图如下所示:

     运行结束后,打开浏览器,输入:http://localhost:7474 回车就可以查看图数据库里面的数据了,部分数据截图如下:

     neo4j数据库中部分数据库类型截图如下所示:

     初步使用,感觉知识图谱如果做得足够好,是非常有希望超过AI所能达到的效果的。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值