【问题标题】:How to load a csv file with header and data type in neo4j?如何在 neo4j 中加载带有标题和数据类型的 csv 文件?
【发布时间】:2017-03-10 14:51:24
【问题描述】:

我是否正确不能使用 cypher 加载带有标题和数据类型的 csv 文件? (通过“数据类型”,我的意思是像这样的标题: 对于实体:

orderId:ID(Order) customerId:IGNORE

对于关系:

:START_ID(订单):END_ID(产品) )

根据这两个网站:https://neo4j.com/developer/guide-import-csv/,http://jexp.de/blog/2015/04/how-to-neo4j-data-import-minimal-example/ 看来我可以在 powershell 或命令提示符下以这种方式将数据与 header 一起导入(我使用的是 windows 计算机):

path\to\neo4j-community-3.1.1\bin\neo4j-import --into graph.db  \
--nodes:Person C:\SavedNewest\people_header.csv, C:\SavedNewest\people.csv  \
--relationships:KNOWS C:\SavedNewest\friendships_header.csv,C:\SavedNewest\friendships.csv

(根据本网站重构的csv:http://jexp.de/blog/2015/04/how-to-neo4j-data-import-minimal-example/

来自 PowerShell 的错误:

At line:2 char:3
+ --nodes:Person C:\SavedNewest\people_header.csv,https://gist.githubus ...
+   ~
Missing expression after unary operator '--'.
At line:2 char:3
+ --nodes:Person C:\SavedNewest\people_header.csv,https://gist.githubus ...
+   ~~~~~~~~~~~~
Unexpected token 'nodes:Person' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingExpressionAfterOperator

命令提示错误:

WARNING: This command does not appear to be running with administrative rights.
  Some commands may fail e.g. Start/Stop
WARNING: neo4j-import is deprecated and support for it will be removed in a future
version of Neo4j; please use neo4j-admin import instead.

Input error: Expected '--relationships' to have at least 1 valid item, but had 0 []
Caused by:Expected '--relationships' to have at least 1 valid item, but had 0 []
java.lang.IllegalArgumentException: Expected '--relationships' to have at least 1 valid item, but had 0 []
        at org.neo4j.kernel.impl.util.Validators.lambda$atLeast$6(Validators.java:125)
        at org.neo4j.helpers.Args.validated(Args.java:640)
        at org.neo4j.helpers.Args.interpretOptionsWithMetadata(Args.java:608)
        at org.neo4j.tooling.ImportTool.extractInputFiles(ImportTool.java:508)
        at org.neo4j.tooling.ImportTool.main(ImportTool.java:389)
        at org.neo4j.tooling.ImportTool.main(ImportTool.java:334)

错误的原因是什么,我应该如何正确加载带有标题和数据类型的csv文件?

编辑: cmd的新输入:

C:\Users\tsutomu\Desktop\MSS\Bachelorarbeit\neo4j-community-3.1.1\bin\neo4j-import --into graph.db  --nodes:Person "file:c:/SavedNewest/people_header.csv,file:c:/SavedNewest/people.csv" --relationships:KNOWS "file:c:/SavedNewest/friendships_header.csv,file:c:/SavedNewest/friendships.csv"

错误:

Input error: Directory of file:c:\SavedNewest\people_header.csv doesn't exist

原因:文件目录:c:\SavedNewest\people_header.csv 不存在 java.lang.IllegalArgumentException:文件目录:c:\SavedNewest\people_header.csv 不存在 在 org.neo4j.kernel.impl.util.Validators.matchingFiles(Validators.java:48) 在 org.neo4j.kernel.impl.util.Converters.lambda$regexFiles$7(Converters.java:76) 在 org.neo4j.kernel.impl.util.Converters.lambda$toFiles$8(Converters.java:95) 在 org.neo4j.helpers.Args.interpretOptionsWithMetadata(Args.java:608) 在 org.neo4j.tooling.ImportTool.extractInputFiles(ImportTool.java:508) 在 org.neo4j.tooling.ImportTool.main(ImportTool.java:388) 在 org.neo4j.tooling.ImportTool.main(ImportTool.java:334)

powershell 出现同样的错误。

people_header.csv 的路径:C:\SavedNewest\people_header.csv 有什么我应该添加到环境路径的吗?

【问题讨论】:

    标签: csv neo4j


    【解决方案1】:

    您的命令行中有几个问题:

    1. 不能在命令行参数中嵌入空格。例如,C:\SavedNewest\people_header.csv, C:\SavedNewest\people.csv 应该是单个参数,因此您需要删除逗号后的空格或将整个参数用双引号引起来。

    2. 文件路径 URL 的格式必须正确。引用developer guide

      确保使用正确的网址,尤其是。文件 URLs.+ 在 OSX 和 Unix 上使用 file:///path/to/data.csv,在 Windows 上,请使用 文件:c:/path/to/data.csv

    【讨论】:

    • 我会试试的。谢谢你。我是否正确不能使用 cypher 加载带有标题和数据类型的 csv 文件?
    • 对。 neo4j-import 与LOAD CSV不同。
    • 这是我当前对 cmd 的输入:C:\Users\tsutomu\Desktop\MSS\Bachelorarbeit\neo4j-community-3.1.1\bin\neo4j-import --into graph.db --节点:人“文件:c:\SavedNewest\people_header.csv,file:c:\SavedNewest\people.csv” --relationships:KNOWS “文件:c:\SavedNewest\friendships_header.csv,file:c:\SavedNewest\友谊.csv"
    • 尝试在路径中使用正斜杠,如文档所述。
    • 对不起,我错过了。我刚刚尝试使用正斜杠,同样的错误。
    猜你喜欢
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多