【问题标题】:Duplicate relations in neo4j with spring dataNeo4j中的重复关系与弹簧数据
【发布时间】:2016-05-17 12:09:24
【问题描述】:

我正在使用带有 spring-data-neo4j(版本 4.1.1.RELEASE)和 neo4j-ogm-bolt-driver 的 Neo4j 3.0.0。我想在两个节点之间多次创建相同的关系(相同类型)。

通过GraphRepository 接口多次保持@RelationshipEntity 只会创建一次关系。

在对该主题进行一些调查后,我发现了此处描述的解决方法:Cannot add more than one relationship between nodes in neo4j,但在我的 OGM 版本中,createRelationshipBetween 方法似乎不再存在于 Neo4jTemplate 中。

OGM 是否有任何可用的解决方案,或者我是否必须使用密码查询执行重复关系的创建?

我需要在两个节点之间多次拥有相同的关系类型,因此添加一些其他关系类型对我来说不是一个选项。

【问题讨论】:

    标签: java neo4j spring-data-neo4j-4 neo4j-ogm


    【解决方案1】:

    SDN 4.1/Neo4j OGM does not allow for multiple relations of the same type between two nodes。该规则的例外情况是,当您想要维持 2 种关系(一种传出和一种传入)时,您需要指定 OUTGOING 和 INCOMING 方向。

    如果将关系建模为关系实体,则可以有多个关系——关系实体必须具有至少一个属性,并且至少一个属性的值必须与两个节点之间的其他关系不同。您可以考虑使用时间戳作为属性。

    Custom Cypher 可以做到这一点,但在加载实体并将其持久化回具有多个同时关系的图表时很可能会出现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 2012-10-07
      相关资源
      最近更新 更多