创建多个节点的方法不好?运行缓慢,耗费大量内存

时间:2014-05-14 04:19:53

标签: neo4j cypher

尝试创建一组简单的关系/节点,其中俱乐部位于PART_OF区域,该区域属于BELONGS_TO国家/地区。以下150行代码(仅显示2行)执行一分钟,创建150个节点,150个标签,150个关系。

merge (c:COUNTRY {name:'Fictus'})           

merge(d1:club {name:'alpha'})   
merge(l1:LOCATION {name:'shore'})   
merge(r1:REGION {name:'north park'})    
merge d1-[:LOCATED]->l1 
merge l1-[:BELONGS_TO]->r1 
merge r1-[:IS_PART_OF]->c

merge(d2:club {name:'beta'})    
merge(l2:LOCATION {name:'shore'})   
merge (r2:REGION {name:'north park'})   
merge d2-[:LOCATED]->l2 
merge l2-[:BELONGS_TO]->r2 
merge r2-[:IS_PART_OF]->c

两个问题: 1.它不应该只创建3个标签吗?为什么说150? 2.显然,创建对象的方法很糟糕。什么是通过脚本正确的?

谢谢!

1 个答案:

答案 0 :(得分:0)

根据您的查询,应该只有3个节点标签。我相信报道创建的“150个标签”会产生误导 - 它可能只是告诉你150个节点已被分配标签。

如果您真的想要启动新数据库,那么可以使用REST API perform batch operations