我正在尝试使用neo4j批量导入器从csv文件中加载节点及其关系,
neo4j-admin import \
--id-type=string \
--nodes:AGENT="nodes_AGENT_C_20190610.csv" \
--nodes:CUSTOMER="nodes_CUSTOMER_C_20190610.csv" \
--relationships:CASHOUT="relcashoutTest-header.csv,relcashoutTest.csv"
和我的csv文件(用于关系文件)
:TYPE,:START_ID(CUSTOMER),:END_ID(AGENT),TXNID:string,TIMESTAMP:datetime,AMOUNT:int,CHANNEL
此处TYPE表示名为RELATIONSHIP的列 和我的相关csv文件看起来像这样
CASHOUT,abc,xyz,6C19MX7DXL,2019-03-01T11:02:55,40,charge
CASHOUT,pqr,jkl,6C19MX7E2V,2019-03-01T11:02:57,10,charge
运行import.sh脚本后出现以下错误 意外错误:找不到组“ CUSTOMER”。可用的组为:[]
我仔细阅读了文档,但没有弄清楚我的错误。任何帮助将不胜感激neo4j版本是3.5.8
答案 0 :(得分:1)
:START_ID
和:END_ID
字段可以采用可选的ID space,就像:START_ID(CUSTOMER)
一样。
但是 ID空间与节点 label 是同一件事。为了使:START_ID(CUSTOMER)
工作,您的节点CSV文件之一(可能是CUSTOMER
标签的文件)必须在其标头中指定:ID(CUSTOMER)
而不是:ID
。这样做会将CUSTOMER
ID空间与该文件创建的节点相关联,并且您应该不再看到该特定错误。
您可能还需要为AGENT
ID空间做类似的事情。
注意:如果您的所有节点在:ID
字段中(跨CSV文件)都具有唯一值,则根本不需要使用ID空间。在这种情况下,您的关系文件标头可以简单地使用:START_ID
和:END_ID
而没有任何限制。