我最近在我的32位(Windows7)计算机上安装了社区版Neo4j。我试图使用Neo4jImport工具上传csv数据,但一直没有成功。以下是数据和脚本的详细信息:
数据(存储在C:\ Neo4j \ AUData):
" AUCustHeader.csv"只有一行如下
客户ID:ID,:LABEL
" AUCust.csv"以下格式有~150k行(无标题)
100539589,客户 111738174,客户 115191760,客户 117774313,客户 119793144,客户
" AUTxnsHeader.csv"只有一行如下
START_ID,Txns,:END_ID,:TYPE
" AUTxns.csv"以下格式有~98k行(无标题)
100539589,1,7000000000587269043,SENT_TO 100539589,1,7000000000621301017,SENT_TO 111738174,2,7000000000565458678,SENT_TO 115191760,1,7000000000341672243,SENT_TO 115191760,1,7000000000399157660,SENT_TO
以下是我在powershell上执行的脚本:
PS C:\ neo4j \ bin> C:\ Neo4j \ bin \ Neo4jImport --into C:\ Neo4j \ AUData \ AU.db --nodes:Cust C:\ Neo4j \ AUData \ AUCustHeader.csv,C:\ Neo4j \ AUData \ AUCust.csv --relationships :SENT_TO C:\ Neo4j \ AUData \ AUTxnsHeader.csv,C:\ Neo4j \ AUData \ AUTxns.csv
运行这个给我以下信息:
警告!此批处理脚本已被弃用。请改用提供的PowerShell脚本:http://neo4j.com/docs/stable/powershell.html 线程" main"中的例外情况java.lang.UnsupportedClassVersionError:org / neo4j / tooling / ImportTool:不支持的major.minor版本51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) 在java.net.URLClassLoader.access $ 000(未知来源) 在java.net.URLClassLoader $ 1.run(未知来源) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) 找不到主类:org.neo4j.tooling.ImportTool。程序将退出。
我还尝试在Neo4j提示符上执行此操作,这会略微提供(但仍然是错误消息)不同的消息:
警告!此批处理脚本已被弃用。请改用提供的PowerShell脚本:http://neo4j.com/docs/stable/powershell.html 输入错误:预期' - 关系'至少有1个有效项目,但有0 [] 引起:预期' - 关系'拥有至少1个有效项目,但有0 []
java.lang.IllegalArgumentException:期望' - 关系'至少有1个有效项目,但有0 [] 在org.neo4j.kernel.impl.util.Validators $ 4.validate(Validators.java:114)
at org.neo4j.kernel.impl.util.Validators$4.validate(Validators.java:108)
at org.neo4j.helpers.Args.validated(Args.java:627)
at org.neo4j.helpers.Args.interpretOptionsWithMetadata(Args.java:595)
at org.neo4j.tooling.ImportTool$7.apply(ImportTool.java:706)
at org.neo4j.tooling.ImportTool$7.apply(ImportTool.java:702)
at org.neo4j.tooling.ImportTool.main(ImportTool.java:316)
at org.neo4j.tooling.ImportTool.main(ImportTool.java:279)
有人可以指导一下我做错了什么吗?
提前致谢!
答案 0 :(得分:1)
我在这里发现了许多问题:
-nodes:Cust C:\Neo4j\AUData\AUCustHeader.csv, C:\Neo4j\AUData\AUCust.csv
应该引用或删除逗号后的空格。为什么不两者:例如
-nodes:Cust "C:\Neo4j\AUData\AUCustHeader.csv,C:\Neo4j\AUData\AUCust.csv"
--relationships: SENT_TO C:\Neo4j\AUData\AUTxnsHeader.csv, C:\Neo4j\AUData\AUTxns.csv
遇到同样的问题。
此外
--relationships: SENT_TO应该没有空格,例如
--relationships:SENT_TO