首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将天堂论文集导入Neo4j的问题

将天堂论文集导入Neo4j的问题
EN

Stack Overflow用户
提问于 2018-02-23 13:53:44
回答 1查看 130关注 0票数 0

所有的人,

我在将天堂文件数据集导入Neo4j (3.3.2)数据库时遇到了问题。

正如neo4j-admin import所报告的,数据似乎被正确导入到数据库中。

代码语言:javascript
复制
...
IMPORT DONE in 1m 4s 889ms.
Imported:
  867931 nodes
  1657838 relationships
  17838925 properties
Peak memory usage: 488.28 MB
...

但是,导入数据后,数据库似乎是空的,这是由Cypher查询MATCH (n) RETURN count(n);CALL apoc.meta.graph();报告的。

代码语言:javascript
复制
...
count(n)
0
nodes, relationships
[], []
...

下面的链接指向一个脚本,它应该复制我的问题。这是一个用于OS /BSD的Bash脚本(我认为sedsed开关在Linux上不存在)。此外,脚本还要求在系统上安装和运行Docker。

data.sh

要快速运行脚本:

代码语言:javascript
复制
wget https://raw.githubusercontent.com/HelgeCPH/cypher_kernel/master/example/import_data.sh
chmod u+x import_data.sh
./import_data.sh

我看不出我做错了什么。在运行cypher-shell时,我必须明确地指向数据库吗?

检查容器时,数据库文件存在(ls -ltrh data/databases/graph.db),它们的时间戳对应于导入数据时的时间。

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-26 10:25:24

您的脚本中有多个错误:

  • 节点没有加载,因为在CSV中没有设置:ID列。所以我才增加了这个部分: 对于导入/csv_ -E _papers/..nodes中的文件.csv做sed -E '1s/node_id/node_id:ID/‘$file已完成
  • 节点的标签也没有设置。可以在命令行中直接设置它们,如:--nodes:MyLabel
  • 如果在服务器重新启动时对Neo4j执行查询,则可能会收到错误,因为服务器尚未准备好。这就是为什么我在最后添加了一个sleep 5。更好的方法是等待服务器的响应,如下所示: 直到$(curl -输出/dev/null -沉默-头--失败的http://localhost:7474);执行printf‘。睡眠1已完成
  • 最后一点,我不知道为什么,但是如果您在容器中重新启动neo4j,您将不会看到导入的数据。但如果你重新启动容器本身,那就好了.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48949415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档