我正在尝试一个项目,我必须将一个数据集导入到neo4j中。在尝试使用LOAD CSV WITH HEADERS
语句后,我注意到它只从我的文件中导入了第一行。意识到这一点后,我尝试使用apoc插件运行CALL apoc.periodic.iterate
,因为我的数据集有16719行,它需要能够等待每一行被调用,这样它就不会失败。
apoc.周期性.迭代尝试:
CALL apoc.periodic.iterate
(
"LOAD CSV WITH HEADERS FROM 'file:///Video_Games_Sales_as_at_22_Dec_2016.csv' as row
WITH row
RETURN row",
"MERGE (g:Game)
ON CREATE SET g.Name = row.Name,
g.Release = row.Release,
g.NASales = row.NASales,
g.EUSales = row.EUSales,
g.JPSales = row.JPSales,
g.OtherSales = row.OtherSales,
g.GlobalSales = row.GlobalSales
MERGE (p:Platform)
ON CREATE SET p.Name = row.Platform
MERGE (c:Genre)
ON CREATE SET c.Type = row.Genre
MERGE (v:Publisher)
ON CREATE SET v.Name = row.Publisher
MERGE (x:Developer)
ON CREATE SET x.Name = row.Developer
MERGE (r:Rating)
ON CREATE SET r.Rating = row.Rating
MERGE (g)-[:ON_PLATFORM]-(p)
MERGE (g)-[:GENRE]-(c)
MERGE (g)-[:PUBLISHEDBY]-(v)
MERGE (g)-[:DEVELOPEDBY]-(x)
MERGE (g)-[:RATED]-(r)",
{batchSize: 10000, iterateList: true}
)
YIELD batches, total
RETURN batches, total;
即使运行了这个新语句,它也只导入了第一行和所有关系。为了找出我做错了什么,我想知道是否有人遇到过类似的问题?话虽如此,如果你看到我在哪里搞砸了,请给我指出正确的方向。
1条答案
按热度按时间huus2vyu1#
这可能与你做的事情有关
这可能每次都重写相同的节点。
通常你会的
假设
Name
是标识属性。此外,请确保为
Name
属性设置了CONSTRAINT
。当然,您正在使用的所有其他节点类型也是如此。