neo4j - Neo4J - 无法创建关系 (30,000)

我有两个 csv 文件 Job (30,000 个条目)和 Cat (30 个条目)导入到 neo4j 并试图在它们之间创建关系 每个作业都有一个 cat_IDCat 包含类别执行以下操作后的名称和ID

LOAD CSV WITH HEADERS FROM 'file:///DimCategory.csv' AS row
MATCH (job:Job {cat_ID: row.cat_ID})
MATCH (cat:category {category: row.category})
CREATE (job)-[r:under]->(cat)

它返回(没有变化,没有记录)

我收到一个提示,建议我为该类别编制索引,因此使用 Create INDEX ON :Job(cat_id); 我这样做了,但我仍然收到相同的错误

如何在两者之间建立关系?我能够让它在较小的数据集上工作

回答1

您可能正在尝试在不存在的节点上进行匹配。尝试

LOAD CSV WITH HEADERS FROM 'file:///DimCategory.csv' AS row
MERGE (job:Job {cat_ID: row.cat_ID})
MERGE (cat:category {category: row.category})
CREATE (job)-[r:under]->(cat)

回答2

查看您的日志,看看您是否内存不足。

您可以尝试使用 Periodic Commit 将数据集分成更小的部分,看看是否有帮助:

:auto USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file:///DimCategory.csv' AS row
MATCH (job:Job {cat_ID: row.cat_ID})
MATCH (cat:category {category: row.category})
CREATE (job)-[r:under]->(cat)

相似文章

最新文章