neo4j+python知识图谱构建(基于豆瓣TOP250电影)

爬取内容网站:https://movie.douban.com/top250?start=0&filter=

第一步:明确节点nodes和关系relations。

针对本文,有4个节点,4个关系。一个节点就相当于一个实体。

neo4j+python知识图谱构建(基于豆瓣TOP250电影)_第1张图片neo4j+python知识图谱构建(基于豆瓣TOP250电影)_第2张图片

【注明:因为一部电影可以属于很多种类型,比如《肖申克的救赎》可以属于犯罪,也可以属于剧情,因此把type(类型)也作为一个节点。】

因此,一共需要生成八个文件,包括四个节点文件和四个关系文件。

neo4j+python知识图谱构建(基于豆瓣TOP250电影)_第3张图片

文件类型规定:本文使用csv文件。

节点文件(以director.csv为例):第一列为index:ID,最后一列为:LABEL(实体的标签),中间列为实体属性。注意实体属性最好用英文表示。

关系文件(以directed.csv为例):第一列为:START_ID(相当于关系的实施者的index:ID),此处为director的index:ID;第二列为:END_ID(相当于关系的实施对象的index:ID),此处为film的index:ID;第三列为relation(关系),此处为directed;第四列为:TYPE(关系类型),此处为directed。一般来说,关系和关系类型区别不是很大,可以一致。

                      

第二步,将八个csv文件导入neo4j。

neo4j+python知识图谱构建(基于豆瓣TOP250电影)_第4张图片

节点路径和关系路径可以根据自己需要指定。文件路径的根目录默认为neo4j/bin。

另外,在执行此语句前要确保没有movie.db这个数据库,并且conf文件中注释这句dbms.active_database=movie.db(如果存在的话),不然会报数据库存在的错误。

导入成功后,再在conf文件中添加语句dbms.active_database=movie.db或取消注释。

第三步,打开neo4j数据库,进行查看。(以下为关系acted_in的其中一小部分截图)

neo4j+python知识图谱构建(基于豆瓣TOP250电影)_第5张图片

第四步,用cypher语句对此数据库进行查询、增加节点或关系等操作。

知识存储-cypher查询语句基础:https://blog.csdn.net/amao1998/article/details/80999423

参考文章:https://blog.csdn.net/shr903988854/article/details/83145088

你可能感兴趣的:(emo)