是否可以在现有关系中添加和删除类型, 谁已经拥有类型?
我试过这个:
MATCH ()-[r:?:A]->()
REMOVE r:A
SET r:B
RETURN TYPE(r)
// -> :?:B
那不行。错误是:
Type mismatch: expected Node but was Relationship
"remove r:A"
^
答案 0 :(得分:2)
不,关系的类型是不可修改的,您需要删除该关系并创建一个新关系。
尽管如此,APOC Procedures有一些方便refactoring procedures用于执行此类重构操作,apoc.refactor.setType()
应该是您需要的。
答案 1 :(得分:0)
这样的事可能有用:
MATCH (a)-[r:old]->(b) WITH a,r,b MERGE (a)-[:new]->(b) DELETE r;