将CSV格式文件导入Neo4j数据库
创建图数据库
- 数据来源:https://neo4j.com/docs/stable/re03.html
- 将数据保存为csv格式,保存到自己创建的文件夹importData中
- 将importData文件夹下的文件数据导入到名为moviegraphtest的数据库中,
执行以下命令:
neo4j-admin import --mode=csv --database=moviegraphtest.db --nodes importdata\movies.csv --nodes importdata\actors.csv --relationships importdata\roles.csv
- 出现的错误
unexpected error: java.io.IOException: Error occured in read-ahead thread
- 原因
建立好xlsx 文件格式后,直接改了后缀名csv, 应该另存为csv格式,并且要保存为utf8格式,如下:
- 再一次运行成功
- 创建的数据库会在该目录下显示,如下:
查看数据库
neo4j默认的数据库是data/databases下面的graph.db,浏览器也会默认的访问这个graph数据库,所以当你新建了一个数据库的时候,浏览器也不会访问它,解决的办法有如下两种。
-
方法1:修改配置文件
将conf文件夹下的neo4j.conf中dbms.active_database = graph.db 修改为
dbms.active_database =自己的数据库名称.db,并将前面的#号删除。
-
安装、开启服务
-
浏览器访问http://localhost:7474/browser/,可以看到数据库名变为了moviegraphtest.db
-
方法2:建立软连接
由于neo4j默认访问的是graph.db数据库,如果我们将新创建的数据库与这个默认数据库之间创建一个软连接,即默认数据库中的内容都是新创建的数据库,那么就是间接的访问了新创建的数据库,而不用每次都修改配置文件的内容。 -
切换到data/database目录下:
move graph.db graph_copy.db
mklink /D graph.db moviegraphtest.db
-
出现错误:你没有足够的权限执行此操作
-
解决方案:
使用管理员权限启动 cmd即可:
-
最终文件目录:
-
注意:此时配置文件还是默认的,没有进行更改过:
-
再重新启动服务
-
进入浏览器访问http://localhost:7474/browser/
数据库名虽然为graph.db,但是数据库是 moviegraphtest 的内容:
-
当然这只是其中的一个方法,也可以分别载入实体文件和关系文件,
可以参考https://blog.csdn.net/weixin_41104835/article/details/88869991
参考:
[1]https://blog.csdn.net/swy520/article/details/79078422
[2]https://blog.walterlv.com/post/problems-of-mklink.html