Neo4j使用日志(二):学习用csv文件生成知识图谱

您所在的位置:网站首页 如何将csv文件的数据导入r Neo4j使用日志(二):学习用csv文件生成知识图谱

Neo4j使用日志(二):学习用csv文件生成知识图谱

2023-09-18 02:39| 来源: 网络整理| 查看: 265

Neo4j使用日志(二):学习用csv文件生成知识图谱

主要参考文章

学习思路 1.导入三元组csv文件 2.利用三元组提取关系,生成实体csv和相关关系csv 3.导入csv文件生成知识图谱

介绍:简单来说,三元组就是两个实体之间有具体的联系,我们只要把三元组提出出来生成csv就可以用啦。

在这里插入图片描述1.导入三元组csv文件 本人的csv文件如下 在这里插入图片描述2.利用三元组提取关系,生成实体csv和相关关系csv 根据博文中所提到的python语句生成csv文件 在使用过程中出现读取文件名字中出现中文报错的问题 利用转义字符和除去不可见字符语句进行修改 csvfilename = r’E:\roles.csv’ csvfilename = csvfilename.strip(’\u202a’)#除去不可见字符 修改过后代码如下

#!/usr/bin/env python # _*_ coding:utf-8 _*_ import pandas as pd import csv # 读取三元组文件 h_r_t_name = [":START_ID", "role", ":END_ID"] h_r_t = pd.read_csv("E:\VIEW.csv", decimal="\t", names=h_r_t_name)#你的三元组csv读取 print(h_r_t.info()) print(h_r_t.head()) # 去除重复实体 entity = set() entity_h = h_r_t[':START_ID'].tolist() entity_t = h_r_t[':END_ID'].tolist() for i in entity_h: entity.add(i) for i in entity_t: entity.add(i) print(entity) # 保存节点文件 csvf_entity = open("E:\entity.csv", "w", newline='', encoding='utf-8')#生成节点文件 w_entity = csv.writer(csvf_entity) # 实体ID,要求唯一,名称,LABEL标签,可自己不同设定对应的标签 w_entity.writerow(("entity:ID", "name", ":LABEL")) entity = list(entity) entity_dict = {} for i in range(len(entity)): w_entity.writerow(("e" + str(i), entity[i], "my_entity")) entity_dict[entity[i]] = "e"+str(i) csvf_entity.close() # 生成关系文件,起始实体ID,终点实体ID,要求与实体文件中ID对应,:TYPE即为关系 h_r_t[':START_ID'] = h_r_t[':START_ID'].map(entity_dict) h_r_t[':END_ID'] = h_r_t[':END_ID'].map(entity_dict) h_r_t[":TYPE"] = h_r_t['role'] h_r_t.pop('role') csvfilename = r'E:\roles.csv' csvfilename = csvfilename.strip('\u202a')#除去不可见字符 h_r_t.to_csv(csvfilename, index=False)

3.导入csv文件生成知识图谱 (1)首先需要关闭Neo4j(正常情况把cmd关掉就能结束进程) 另外可以在cmd中输入Neo4j stop 在cmd中输入 Neo4j status 检查状态 如果关不掉可以参考以下文章关闭Neo4j (2)导入csv文件 打开cmd输入 第一次导入csv失败了,后来把csv文件放在了import文件夹下,就能导入成功了。 在这里插入图片描述输入“Neo4j-admin.bat import --nodes E:\entity.csv --relationships E:\roles.csv”导入

Neo4j-admin.bat import --nodes E:\\entity.csv --relationships E:\\roles.csv

等运行一段时间之后,再次启动Neo4j,如果能启动就能够在browse里面看到相应的图谱啦 如果Neo4j不能启动,应该是哪出了问题,目前对于Neo4j的学习还比较浅,没能具体分析出来,最简单直接的方法就是把数据库删了,重新创建。 数据库在安装目录的data下的.gb就是,删掉数据库重新导入即可。 数据库位置



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3