neo4j-admin import导入报错Group 'INVS' not found如何解决
问题根因
这是命令参数配置错误,不是neo4j-admin import工具本身的bug,核心问题出在文件匹配通配符的写法上。
你传入的节点路径规则import/nodes/\.*存在严重的匹配逻辑错误:shell中\.*只会匹配文件名以.开头的隐藏文件,完全不会匹配普通命名的CSV文件。
这就直接导致:
- nodes目录下只有恰好命名为点开头的、包含CUST分组的节点文件被工具加载,INVS、ITEM等其他分组对应的普通节点CSV根本没有被纳入导入范围
- 工具仅解析到了CUST这一个ID分组,后续处理关系文件碰到INVS分组引用时,就会抛出分组不存在的报错
- 你观察到的“未加载完全部节点就处理关系”是错觉:neo4j-admin import的执行逻辑是先全量加载所有传入的节点文件、解析全部ID分组后,才会开始处理关系数据,本质是你传入的节点文件列表本身就不全。
验证方法
直接在$NEO4J_HOME目录下执行以下命令,查看当前错误通配符实际匹配到的文件:
ls -l import/nodes/\.*
你会发现输出的文件列表里根本没有包含INVS分组定义的那个节点CSV,只有带CUST分组的隐藏文件,和报错信息完全吻合。
修复方案
替换错误的通配符规则,改为匹配目录下所有普通CSV文件即可,修正后的导入命令如下:
neo4j-admin import --force=true --high-io=true --skip-duplicate-nodes --nodes=import/nodes/*.csv --relationships=import/relationships/*.csv
如果你的文件不是.csv后缀,或者有多层目录、特殊命名规则,也可以逐个明确指定所有节点文件路径,确保所有定义了ID分组的节点文件都被传入--nodes参数即可。
注意:执行导入前务必确认
--nodes参数匹配到的文件列表覆盖了所有节点CSV,避免再次出现分组缺失的问题。
内容的提问来源于stack exchange,提问作者Todd Clevenger
相关产品推荐
相关产品推荐

