【问题标题】:Adding type to existing relationship with Cypher将类型添加到与 Cypher 的现有关系中
【发布时间】:2017-05-27 18:07:46
【问题描述】:

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

我试过这个:

MATCH ()-[r:?:A]->()
REMOVE r:A
SET r:B
RETURN TYPE(r)
// -> :?:B

那行不通。错误是:

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

【问题讨论】:

    标签: neo4j cypher relationships


    【解决方案1】:

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

    也就是说,APOC Procedures 有一些方便的 refactoring procedures 用于执行这种重构操作,apoc.refactor.setType() 应该是你需要的。

    【讨论】:

      【解决方案2】:

      这样的事情可能会奏效:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-01
        • 1970-01-01
        • 2014-05-05
        • 2016-10-22
        • 2013-03-30
        • 2013-12-25
        • 2021-07-07
        相关资源
        最近更新 更多