在neo4j找到一个生日

时间:2012-06-16 02:29:00

标签: database-design neo4j

所以我最近一直在研究neo4j并且不记得上次我对此感到兴奋。我只是认为这是最酷的事情。我还有很多需要学习但是......

给出这样的东西: neo4j graph

我和山姆都过生日了。他是18号,我的是10号。我怎么会找到Sam的生日?山姆会与那个“天生”之类的日期有关系吗?

我意识到我可能不会以正确的方式接近这种建模,这可能是我的障碍。这只是令人困惑,因为一切都是这样或那样的,很难确定什么,如果有的话,实际上是一个独特的属性,什么是简单的关系。

如果我要求过生日,我想要生日 - > oct 18th - > sam和oct 12 - >我。

如果我问我,我想要我 - >生日 - > 10月12日

如果我要求10月10日我想要第10个 - >生日 - >我(我认为这是对的)

所以......希望能够对建模事物有所了解,以及如何将这些事物正确地结合在一起。

2 个答案:

答案 0 :(得分:0)

所以我想问题是,你想到达的答案是什么?

你想得到其他有生日的人吗?那么这将(理论上)返回数据库中的所有用户,而不仅仅是“Sam”,除非你专门针对“Sam”定制你的问题

因此,建模的一种方法是使用你的参考节点,这在neo4j模型中很常见,引用所有的生日节点,然后像这样遍历:

(Reference_Node)-[:BIRTHDAY_REFERENCE]->(Birthday)<-[:HAS_BIRTHDATE]-(User) where User.name='Sam'

这是你在找什么?

答案 1 :(得分:0)

您可能还对多级索引时间轴http://docs.neo4j.org/chunked/stable/cypher-cookbook-path-tree.html感兴趣,以帮助您执行“查找10月份有生日的所有用户”等操作 - 如果您的用例涉及此类查询,即。 / p>