前两天看了一些关于知识图谱的知识,关于结构化数据建立知识图谱的想法,非结构化和半结构化数据的提取后续也会继续学习,根据数据集构建了一个红楼梦人物关系的知识图谱,主要参考了大佬的代码
Neo4j的启动:Neo4j是基于java环境监理的,所以要先配置java环境,这个在网上很容易搜得到。配置完了之后还需要到服务里面把自动改成启动
然后win+r进去cmd。在cmd中输入neo4j.bat start(启动neo4j),neo4j.bat stop(关闭)
开启了Neo4j之后进入网页,第一次账号密码都是neo4j,之后需要改密码,改成自己容易记的即可,进入neo4j之后,最上方的交互框就是用neo4j内部语言进行的一些操作。
python代码:
import csv
import py2neo
from py2neo import Graph,Node,Relationship,NodeMatcher
#账号密码改为自己的即可
g=Graph('http://localhost:7474',user='neo4j',password='123456987')
with open('C:/Users/Administrator/Desktop/triples.csv','r',encoding='gbk') as f: #改为gbk,改成自己文件所在目录即可
reader=csv.reader(f)
for item in reader:
if reader.line_num==1:
continue
#print("当前行数:",reader.line_num,"当前内容:",item)
#创建图谱[given标准的数据集,都可以创建图]
start_node=Node("Person",name=item[0])
end_node = Node("Person", name=item[1])
relation=Relationship(start_node,item[3],end_node)
g.merge(start_node,"Person","name")
g.merge(end_node, "Person", "name")
g.merge(relation, "Person", "name")
csv文件可以用txt文件直接更换属性名,保存类型的时候将编码类型“utr-8”类型更改为“ANSI”就不会再出现乱码了