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

v1uwarro  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(133)

我已经将两个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);,但我仍然得到相同的错误
如何在两者之间创建关系?我可以在较小的数据集上使用此方法

wh6knrhe

wh6knrhe1#

您可能正在尝试匹配不存在的节点。请尝试

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)
pgpifvop

pgpifvop2#

请查看日志,看看是否内存不足。
您可以尝试使用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)

相关问题