【问题标题】:Compound relationship in neo4jNeo4j中的复合关系
【发布时间】:2017-03-14 08:58:56
【问题描述】:

我在玩 neo4j - 看看我能用它做什么和不能做什么,然后再建议它做一些严肃的事情。我正在努力解决的一件事是,您是否可以拥有我所说的复合关系。

在我的演奏中,我正在做一个家谱 - 这似乎是一个理想的选择。我想表达一个生活事件发生在两个人之间——例如结婚——以及它发生在哪里。两个 PERSON 节点之间的 MARRIED_TO 关系很简单。不过,我正在努力解决与 PLACE 节点的关系。

在我的脑海中,似乎我真正想要的是从 PLACE 节点到 MARRIED_TO 关系的关系,我认为这是不可能的。

另外,我可以看到三个节点之间的 MARRIED_TO 关系,但这不仅感觉不对,而且也不可能。

我能做的最好的事情是要么有一个代表婚姻的 EVENT 节点,这感觉很笨重,要么有两个 PERSON 节点到 PLACE 的关系,然后是数据的复制。

是否有适当的方法来管理此类数据?还是我只是错过了什么?

【问题讨论】:

    标签: neo4j cypher graph-databases


    【解决方案1】:

    将“婚姻”视为您领域的重要组成部分。任何作为实体的东西都应该有一个单独的节点——因此“婚姻”(或事件)成为一个节点。然后该节点可以连接到两个人和该位置。

    【讨论】:

    • 这是我能想到的最好的了。然后,所有属性都在节点上而不是关系上,而关系只是将事物连接在一起,但它确实有效。从技术上讲,它确实允许不正确的链接 - 例如第三人 - 但这可能没问题,可以在业务逻辑中处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多