我尝试使用Batch Importer将CSV数据导入neo4j数据库。
起初我尝试导入数据而不进行自动索引,效果很好。之后,我尝试在示例数据nodes.csv和rels.csv上使用自动索引:
nodes.csv:
name age works_on
Michael 37 neo4j
Selina 14
Rana 6
Selma 4
rels.csv:
start end type since counter:int
1 2 FATHER_OF 1998-07-10 1
1 3 FATHER_OF 2007-09-15 2
1 4 FATHER_OF 2008-05-03 3
3 4 SISTER_OF 2008-05-03 5
2 3 SISTER_OF 2007-09-15 7
batch.properties文件包含以下行:
use_memory_mapped_buffers=true
neostore.nodestore.db.mapped_memory=100M
neostore.relationshipstore.db.mapped_memory=500M
neostore.propertystore.db.mapped_memory=1G
neostore.propertystore.db.strings.mapped_memory=200M
neostore.propertystore.db.arrays.mapped_memory=0M
neostore.propertystore.db.index.keys.mapped_memory=15M
neostore.propertystore.db.index.mapped_memory=15M
batch_import.node_index.users=exact
尝试在Windows上运行批量导入程序时,我遇到以下例外情况:
* I:\ Research \ Temporal Analysis \ neo4j> java -server -Xmx4G -jar batch-import-jar-with-dependencies.jar data / graph.db nodes.csv rels.csv node_index users fulltext nodes_index.csv rel_index精确地工作了rels_index.csv *
Using Existing Configuration File
Total import time: 0 seconds
Exception in thread "main" java.lang.IllegalArgumentException: Unknown Type stri
ng:users
at org.neo4j.batchimport.importer.Type.fromString(Type.java:71)
at org.neo4j.batchimport.importer.RowData.parseTypes(RowData.java:52)
at org.neo4j.batchimport.importer.RowData.<init>(RowData.java:25)
at org.neo4j.batchimport.Importer.importNodes(Importer.java:89)
at org.neo4j.batchimport.Importer.main(Importer.java:57)
在寻找其他人遇到的类似问题时,我遇到了this。
当我从this address下载了一个支持Windows的jar文件时,我想知道它是否包含任何错误,或者.csv文件或batch.properties中都有错误。
如果有人设法将自动索引数据导入到windows机器上的neo4j数据库中,我将非常感谢您描述正确的程序。
谢谢!
答案 0 :(得分:0)
首先,您必须指定要编制索引的csv列,以扩充标头。 例如,如果要编入索引的属性为名称,则其标题应如下所示
name:string:chewbecca
调用索引的位置,即。 chewbecca
其次,您必须在属性文件中设置正确的索引名称。 作为您的配置,您已设置以下内容:
batch_import.node_index.users=exact
现在你必须指定 chewbecca ---而不是用户:
batch_import.node_index.chewbecca=exact