Neo4j 向与Cypher的现有关系添加类型

Neo4j 向与Cypher的现有关系添加类型,neo4j,cypher,relationships,Neo4j,Cypher,Relationships,是否可以向现有关系添加和删除类型, 谁已经拥有类型 我试着这样做: MATCH ()-[r:?:A]->() REMOVE r:A SET r:B RETURN TYPE(r) // -> :?:B 那不管用。错误是: Type mismatch: expected Node but was Relationship "remove r:A" ^ 否,关系的类型是不可修改的,您需要删除该关系并创建一个新关系 也就是说,对于执行这种重构操作,apoc.refact

是否可以向现有关系添加和删除类型, 谁已经拥有类型

我试着这样做:

MATCH ()-[r:?:A]->()
REMOVE r:A
SET r:B
RETURN TYPE(r)
// -> :?:B
那不管用。错误是:

Type mismatch: expected Node but was Relationship
"remove r:A" 
        ^

否,关系的类型是不可修改的,您需要删除该关系并创建一个新关系


也就是说,对于执行这种重构操作,apoc.refactor.setType()应该是您所需要的。

不,关系的类型是不可修改的,您需要删除该关系并创建一个新的关系


也就是说,对于执行这种重构操作来说,apoc.refactor.setType()应该是您所需要的。

类似的方法可能会奏效:

MATCH (a)-[r:old]->(b) WITH a,r,b MERGE (a)-[:new]->(b) DELETE r;

类似的方法可能会奏效:

MATCH (a)-[r:old]->(b) WITH a,r,b MERGE (a)-[:new]->(b) DELETE r;