Neo4j修改标签名

修改节点标签

匹配到要删除的节点,使用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

你可能感兴趣的:(学习记录)