Neo4j入门-简单的把红楼梦数据集变成知识图谱

前两天看了一些关于知识图谱的知识,关于结构化数据建立知识图谱的想法,非结构化和半结构化数据的提取后续也会继续学习,根据数据集构建了一个红楼梦人物关系的知识图谱,主要参考了大佬的代码

Neo4j的启动:Neo4j是基于java环境监理的,所以要先配置java环境,这个在网上很容易搜得到。配置完了之后还需要到服务里面把自动改成启动

Neo4j入门-简单的把红楼梦数据集变成知识图谱_第1张图片

 然后win+r进去cmd。在cmd中输入neo4j.bat start(启动neo4j),neo4j.bat stop(关闭)

Neo4j入门-简单的把红楼梦数据集变成知识图谱_第2张图片

开启了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”就不会再出现乱码了

 

 

 

你可能感兴趣的:(知识图谱,python,知识图谱,neo4j)