我是NEO4J的新手。我使用的是neo4j 3.5.6社区版和apoc插件3.5.0.4版。默认导入文件夹中有一个CSV文件
NR_Nodes_Agent_I_20190331_tmp.csv。为了测试目的,我编写了一个密码查询
CALL apoc.load.csv('NR_Nodes_Agent_I_20190331_tmp.csv') yield map as row return row;
但是我遇到了以下错误
Neo.ClientError.Procedure.ProcedureCallFailed:无法调用过程
apoc.load.csv
:由以下原因引起:java.lang.ArrayIndexOutOfBoundsException:1
我对此进行了一些研究,但尚未成功解决 我对neo4j.conf文件中的语句未加注释
dbms.directories.import=import
dbms.security.allow_csv_import_from_file_urls=true
dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*,apoc.*
答案 0 :(得分:2)
确保在neo4j.conf
文件中具有此设置:
apoc.import.file.enabled=true
确保您的CSV文件格式正确。
例如,此CSV文件将导致相同的ArrayIndexOutOfBoundsException: 1
错误消息(请注意,单个数据行缺少第二个值,因为它的逗号比标头少一个):
a,b
1
另一方面,即使数据行在逗号后没有值,此CSV文件也可以使用:
a,b
1,
查询结果为:
╒════════════════╕
│"row" │
╞════════════════╡
│{"a":"1","b":""}│
└────────────────┘
如果数据行具有第二个值,则像这样:
a,b
1,2
那么查询结果将是:
╒═════════════════╕
│"row" │
╞═════════════════╡
│{"a":"1","b":"2"}│
└─────────────────┘