windows下neo4j安装及配置,并绘制人物关系图谱
创始人
2024-05-28 21:26:13
0

neo4j安装及配置,绘制人物关系图谱

  1. 先升级pip,安装py2neo
pip install py2neo==2021.0.1
  1. 依赖 jdk1.8, neo4j 3.xx;
    或者jdk18,neo4j 4.x,5.x;
    官网下载了neo4j4.x,5.x 因为jdk版本原因都不行,最终选择了neo4j3.xx
  • 下载:https://neo4j.com/artifact.php?name=neo4j-community-3.5.31-windows.zip
    https://neo4j.com/download-center
    安装,配置环境变量,启动,浏览器打开

neo4就 5.x,4.x都不行,与java1.8不兼容,最后安了3.5.31 ok,忽略文件夹名称为了不用重复配置环境变量 NEO4j_HOME及path
在这里插入图片描述

终于安装好了✌ ✌ ✌

在这里插入图片描述

1. 效果图

人物图谱效果图如下:

在这里插入图片描述

在这里插入图片描述
群山回唱人物关系图谱 效果图如下:
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

2. 源码

# 生成人物关系图谱import pandas as pd
from py2neo import Graph, Node, Relationship# 字段映射字典
mapping_dict = {"发生时间": "occurrence_time","发布时间": "release_time","发生地点": "scene","死亡人数": "death_toll","受伤人数": "injury_toll","直接损失": "direct_loss","事故主体单位": "accident_unit","灾害事故类型": "accident_type","防范与整改": "prevention_rectification","处理建议": "treatment_recommendations","应急措施": "emergency_measure","直接原因": "immediate_cause","严重程度": "order_severity","应急响应": "emergency_response"}
# 读取文件
storage_df = pd.read_csv('files/new.csv', encoding='utf-8')
# 获取列标签
columns_list = storage_df.columns.tolist()
# 获取数据条数
nums = len(storage_df['title'])
# 删除title列标签
columns_list.remove('title')
# 逆转映射字典
new_dic = dict(zip(mapping_dict.values(), mapping_dict.keys()))# 连接数据库,输入个人配置
graph = Graph("http://localhost:7474/", username='neo4j', password='neo4j123456', run="sub")
# 清空全部数据
graph.delete_all()
# 开启一个新的事务
graph.begin()for i in range(nums):data_dict = {}title = storage_df['title'][i]for columns in columns_list:if str(storage_df[columns][i]) != 'nan':data_dict[columns] = storage_df[columns][i]# 创建事件节点(主节点),节点属性node1 = Node("case", name=title, **data_dict)graph.create(node1, 'case', 'name')# 删除id列data_dict.pop('id')# 创建关系与副节点for key, value in data_dict.items():# 创建副节点node2 = Node(key, name=value)graph.create(node2, key, 'name')# 创建关系rel = Relationship(node1, new_dic[key], node2, type=key)print(new_dic[key])graph.create(rel)

2.1 群山会唱人物关系图谱

# python plot_qshc_rwtp.py
# 对群山回唱人物关系图谱进行绘制from py2neo import Graph, Node, Relationship# 连接数据库,输入个人配置
graph = Graph("http://localhost:7474/", username='xx', password='xx', run="sub")
# 清空全部数据
graph.delete_all()
# 开启一个新的事务
graph.begin()dict_nodes = {}
with open("qshc.txt", 'r', encoding='utf-8', errors='ignore') as f:data = f.readlines()print(data)for i, line in enumerate(data):print(i, line.replace("\n", ""))node_a = line.split(",")[0]node_b = line.split(",")[1]relation = line.split(",")[2]# 创建副节点node1 = Nonenode2 = Noneif (dict_nodes.__contains__(node_a)):node1 = dict_nodes.get(node_a)else:node1 = Node(node_a, name=node_a)graph.create(node1)dict_nodes[node_a] = node1if (dict_nodes.__contains__(node_b)):node2 = dict_nodes.get(node_b)else:node2 = Node(node_b, name=node_b)graph.create(node2)dict_nodes[node_b] = node2# 创建关系rel = Relationship(node1, relation, node2, type='key')graph.create(rel)

参考

  • https://blog.csdn.net/qq_52159080/article/details/124018875
  • https://blog.csdn.net/qq_52159080/article/details/124018875

相关内容

热门资讯

谷歌起诉爬虫公司SerpApi... IT之家 12 月 21 日消息,据科技媒体 The Verge 昨天报道,谷歌已对爬虫工具开发商 ...
两岸政策引发美国焦虑?郑丽文被... 在郑丽文当选国民党主席之后,为什么会引发美国的焦虑?美方约谈郑丽文,又对国民党提出了怎样的要求? 1...
给“信贷漏洞”打上“制度补丁” “我们对内控制度和信贷系统进行了全面完善和升级,进一步明确了贷前调查、贷中审查、贷后管理等各环节的操...
丈夫生前向情人转账上百万,妻子... 丈夫吴某在家突发疾病去世后,妻子刘某发现,二人婚姻存续期间,吴某曾与陈某存在不正当关系,并向其赠与大...
权威电商纠纷律师推荐,林之晨律... 在电商行业蓬勃发展的当下,电商纠纷日益增多,寻找一位权威、靠谱且性价比高的电商纠纷律师至关重要。那么...
湖北大冶警方:男子因家庭纠纷情... 大冶公安查处一起妨碍交通工具正常行驶案件 2025年12月20日15时许,我辖区居民刘某(男,41岁...
女子醉驾找人“摆平”被骗7万后... 因醉酒驾驶轻信他人“可摆平”的谎言被骗,女子葛某乙不堪压力自杀身亡。在实施诈骗的苏某被判刑并赔偿后,...
2026年,山西将实现政策范围... 近日,省医保局发布消息,我省通过提高保障水平、优化经办服务,切实减轻参保职工生育医疗负担,2025年...
原创 上... 上海之后,广州也出台18条政策,将大力扶持游戏电竞行业,继上海率先加码电竞产业扶持之后,广州的跟进并...