修改节点标签
匹配到要删除的节点,使用REMOVE 删除要删除的标签,再设置新的标签即可
像这样:
MATCH (n:OLD_LABEL)
REMOVE n:OLD_LABEL
SET n:NEW_LABEL
例如:
MATCH (n:User:Teacher) REMOVE n:Student RETURN n
还有一种存储过程的.我并没有尝试
参考: http://neo4j.com.cn/topic/5b9647e8bdb1ecde08de8fb8
apoc.periodic.iterate如何set label 更改节点标签
发布于 1 年前 作者 stringso 1133 次浏览 来自 问答
如下,加上set n:row.label_type 这句就会报错
CALL apoc.periodic.iterate(‘with "select * from tables limit 10 " as sql call apoc.load.jdbcParams(“jdbc:mysql://xxxx:3306/xx?user=xx&password=xx”, sql, []) yield row return row’,’ MERGE (n:xx {id:row.id}) set n:row.label_type,n.name=row.namet’,{batchSize:10000,iterateList:true})
修改关系标签
修改关系不能像节点这样直接修改,也不能通过type()函数修改,所以需要将旧的关系删除,添加新的关系,复制属性.
如下:
MATCH (n)-[r:OLD_RELATION]->(m)
CREATE (n)-[r2:NEW_RELATION]->(m)
SET r2 = r // 这里是复制属性
WITH r
DELETE r