前言
在知识图谱的学习过程中,有一个很重要的步骤就是把知识存储到neo4j中(原谅我不会RDF,只会用neo4j).在存储知识图谱的时候,有很多种方法:我们可以自己用python写程序建立node和relationship将自己的数据存储到neo4j中,也可以将数据先存储在csv文件中,然后将csv文件直接导入neo4j中(毕竟neo4j也是一个数据库,mysql可以导入和到处csv文件,neo4j同样也可以干这些事).
一.将csv文件导入neo4j中.
第一步:将csv文件拷贝到neo4j下的import文件夹中(如果没有就自己建立一个).
由于我的操作环境是ubuntu,所以拷贝文件的时候需要用终端命令来执行,正好来复习一下linux下拷贝文件的命令:
sudo cp -r 原始文件路径 拷贝后的文件路径
拷贝一个文件:
sudo cp -r /home/fml/桌面/import/movie.csv /var/lib/neo4j/import/movie.csv
第二步:将csv文件导入到neo4j.
导入节点:
LOAD CSV WITH HEADERS FROM "file:///person.csv" AS line
MERGE (p:Person{gid:toInteger(line.gid),name:line.gname})
注:
- file:///person.csv就是neo4j下import文件夹中的person.csv文件
- As line:类似于python中import pandas as pd中的as作用
- toInteger:转换成interger类型;
- Person:起一个名字
- line.gid,line.gname:是person.csv文件中的两个表头名
导入关系:
LOAD CSV WITH HEADERS FROM "file:///person_to_movie.csv" AS line
match (from:Person{pid:toInteger(line.pid)}),(to:Movie{mid:toInteger(line.mid)})
merge (from)-[r:actedin{pid:toInteger(line.pid),mid:toInteger(line.mid)}]->(to)
写在最后
本文是个人的一些学习笔记,如有侵权,请及时联系我进行删除,谢谢大家.