【问题标题】:how to combine two nodes with different properties merge as one node in cypher?如何将具有不同属性的两个节点合并为密码中的一个节点?
【发布时间】:2016-01-11 06:19:09
【问题描述】:

如何将两个具有不同属性的节点合并为密码中的一个节点?

示例节点 1 具有 name 属性和 name1 值,节点 2 具有分类属性和 class1 值作为一个节点合并为一个节点,结合这两个属性

tnx

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    我很确定这目前无法动态实现,但如果您知道要传输哪些属性:

    MATCH (a:Label), (b:Label)
    WHERE <something about a and b>
    SET a.constraint = b.constraint, a.other_prop = b.other_prop
    DELETE b // If you want do delete b
    

    否则我建议使用 Cypher 加载对象,合并内存中的属性,然后进行查询以保存结果。我建议检查 SET 子句和 += 运算符(here 可以采用 Map(哈希/字典/其他)并以这种方式附加所有给定的属性。

    【讨论】:

      【解决方案2】:

      我觉得有可能

      http://neo4j.com/docs/stable/query-set.html

      MATCH (at { name: 'Andres' }),(pn { name: 'Peter' })
      SET at = pn
      RETURN at, pn
      

      如果您不想删除第一个节点的属性,请使用 +=。

      【讨论】:

        猜你喜欢
        • 2019-07-29
        • 2013-09-30
        • 2021-06-17
        • 1970-01-01
        • 2020-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多