我正在尝试使用batch-import将SQLite3数据库导入到Neo4J中。作为一个Neo4J新手,我关注了Max De Marzi的帖子:Batch Importer – Part 2。
我得到了这个错误:
# java -server -Xmx2G -jar /opt/batch-import/target/batch-import-jar-with-dependencies.jar /var/lib/neo4j/data/graph.db nodes.csv relations.csv
Usage: Importer data/dir nodes.csv relationships.csv [node_index node-index-name fulltext|exact nodes_index.csv rel_index rel-index-name fulltext|exact rels_index.csv ....]
Using: Importer /var/lib/neo4j/data/graph.db nodes.csv relations.csv
Using Existing Configuration File
..
Importing 271544 Nodes took 2 seconds
Total import time: 4 seconds
Exception in thread "main" org.neo4j.graphdb.NotFoundException: id=271565
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.getNodeRecord(BatchInserterImpl.java:917)
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.createRelationship(BatchInserterImpl.java:471)
at org.neo4j.batchimport.Importer.importRelationships(Importer.java:136)
at org.neo4j.batchimport.Importer.doImport(Importer.java:214)
at org.neo4j.batchimport.Importer.main(Importer.java:78)但是节点是存在的:
$ grep ^271565 nodes.csv
271565 'la Callas' 'n_term' 0.0其他人也有这个问题吗?谢谢。
发布于 2013-12-18 19:16:48
你能显示你的文件头吗?
如您所见,您只导入了271544节点。所以不可能有一个节点id为271565的节点。
关系文件中的id指的是nodes file中的行号,而不是您自己的"id“列中的内容(它怎么知道的)。
这里你唯一能做的就是使用id:id,这是一种特殊的类型,它将强制ne4j-id与你提供的id相对应。在关系文件中使用start:id,end:id。
发布于 2014-03-20 04:12:27
您可以尝试另一种方法将大容量数据导入neo4j。
首先,将您的数据库转换为csv文件,并将其导入Gephi --一个图形可视化工具。然后通过使用支持neo4j数据库的Gephi插件,您应该能够将您的数据库(从Gephi)导出为neo4j格式。
最后,只需将导出的文件复制到适当的neo4j目录中。
要将数据库导入Gephi,您将需要两个csv文件-一个包含所有节点,另一个包含所有关系。遵循以下教程:http://blog.neo4j.org/2013/01/fun-with-beer-and-graphs.html
从这里获取Gephi:https://gephi.org/
从这里获取插件:https://marketplace.gephi.org/plugin/neo4j-graph-database-support/
希望这能有所帮助。
发布于 2013-12-17 21:35:34
你能提供你的输入文件来测试吗?您使用的是哪个分支机构?
我发现这里报告了一个类似的错误:https://github.com/jexp/batch-import/issues/59
https://stackoverflow.com/questions/20632818
复制相似问题