与节点保持不同的关系

时间:2015-08-28 12:28:14

标签: neo4j data-modeling graph-databases

我正在开发一个新的Web项目并使用neo4j作为数据库,因此我可以使用关系并创建建议。它是一个简单的约会网站,适合非约会的人,所以他们可以闲逛,谈论他们的职业。我开始对数据建模并拥有一个人员节点。我想建立关系' met_with'跟踪人们何时出去玩。我有财产' meet_date'和'评级'在met_with关系上,所以我可以跟踪人们何时挂出以及他们对环聊的看法。

我遇到的问题是我还要记录他们在“地点”中的位置。节点,但我想存储2人在那里见面。 (即Steve和Mary于2015年8月28日在Java House会面)我认为该位置也是一个节点,但我不知道如何跟踪哪两个人在哪里见过。我知道我可以建立关系' met_at'在人与地点之间,但我怎么能把它与两个人联系起来。我不希望这样我在一个人和一个地点之间有6条关系(如果那个人碰巧喜欢那个地方见面)而且每次都不能告诉他们与谁见面。

在关系数据库中,我可以只有一个连接表来存储2个人的ID和位置ID以及会面日期,但我当然是试图摆脱这个项目的连接思维模式

感谢任何人提供的任何建议!

1 个答案:

答案 0 :(得分:2)

是的,所以你的问题告诉了你一些事情。显然,会议的概念在这里很重要,并且是您所在领域的优先实体。

所以我会创建新的#34; Meeting"节点,这些节点可以与两个人相关并且可以与位置相关。此外,这开辟了新的可能性,例如将会议节点连接到时间树,甚至是主题,......