Neo4j 批量插入问题
发布于 5 年前 作者 silenceck 2501 次浏览 来自 问答

使用unwind语句批量插入关系

'UNWIND $links AS link MERGE (a {id:link.source}) MERGE (b{id:link.target }) MERGE (a)-[:IS_FREIENDS]->(b) ', { “links” : links, }

像上面这样直接指定关系label是ISFREIENDS,是可以将links中的所有link插入到neo4j中,但是我使用参数来指定关系的label时,像下面这样 并不能将关系插入到neo4j中。

UNWIND $links AS link MERGE (a {id:link.source}) MERGE (b{id:link.target }) MERGE (a)-[:$label]->(b) ', { “links” : links, “label”: ‘IS_FRIENDS’, }

请问有什么办法解决这个问题?

1 回复

只用cypher不支持标签动态导入的,需要借助apoc实现:1、使用apoc.merge.*过程,2、使用apoc.cypher.doIt在服务端拼接。可以参考一下下面的实现。另外导入的时候建议节点关系分开导入,可以提升性能。 TIM截图20191202093158.png TIM截图20191202093252.png

回到顶部