【问题标题】:CSV import to Neo4jCSV 导入 Neo4j
【发布时间】:2016-03-28 03:37:52
【问题描述】:

我最近在我的 32 位 (Windows7) 机器上安装了社区版 Neo4j。我正在尝试使用 Neo4jImport 工具上传 csv 数据,但没有成功。以下是数据和脚本的详细信息:

数据(存储在 C:\Neo4j\AUData):

“AUCustHeader.csv”只有一行如下

customerId: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 线程“主”java.lang.UnsupportedClassVersionError 中的异常:org/neo4j/tooling/ImportTool:不支持的major.minor 版本51.0 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(未知来源) 在 java.security.SecureClassLoader.defineClass(未知来源) 在 java.net.URLClassLoader.defineClass(未知来源) 在 java.net.URLClassLoader.access$000(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClassInternal(未知来源) 找不到主类:org.neo4j.tooling.ImportTool。程序将退出。

我也尝试在 Neo4j 提示符上执行此操作,它给出了一个稍微(但仍然是错误消息)不同的消息:

警告!此批处理脚本已被弃用。请改用提供的 PowerShell 脚本:http://neo4j.com/docs/stable/powershell.html 输入错误:预期“--relationships”至少有 1 个有效项目,但有 0 [] 原因:预期“--relationships”至少有 1 个有效项目,但有 0 []

java.lang.IllegalArgumentException:预期“--relationships”至少有 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)

有人可以指导我,我做错了什么吗?

提前致谢!

【问题讨论】:

  • 这通常发生在您使用的 Java 版本比您的 jar 编译时所针对的旧版本时。验证从命令行使用的 jvm 是 Java 8。

标签: neo4j


【解决方案1】:

我在这里发现了一些问题:

节点

-节点:Cust C:\Neo4j\AUData\AUCustHeader.csv, C:\Neo4j\AUData\AUCust.csv

应该被引用或逗号后的空格被删除。为什么不两者兼而有之:例如

-nodes:Cust "C:\Neo4j\AUData\AUCustHeader.csv,C:\Neo4j\AUData\AUCust.csv"

关系(1)

--relationships: SENT_TO C:\Neo4j\AUData\AUTxnsHeader.csv, C:\Neo4j\AUData\AUTxns.csv

遇到同样的问题。

关系(2)

另外

--relationships: SENT_TO
应该没有空格,例如
--relationships:SENT_TO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多