Neo4j的新闻提要

时间:2013-01-22 13:08:06

标签: neo4j news-feed cypher

我即将在我的社交项目中实施 新闻Feed 机制,我的主要数据库是 Neo4j
我在Neo文档http://docs.neo4j.org/chunked/stable/cypher-cookbook-newsfeed.html中阅读了鼓舞人心的例子 我试图根据我的需要调整这个模型。

在我的项目中:
个人资料可以 关注 关系做多种类型的节点,为了使其简单,个人资料可以 关注 其他个人资料节点和故事节点。

让我们说... profile1- [FOLLOW] - > profile2,profile1- [FOLLOW] -story1
操作:profile2更新story1。

以上操作将创建两个新状态。
一个用于profile2 - “profile 2更新了故事......” 一个故事1 - “故事1已更新......”

现在,profile1想要获取他的新闻提要,但他不想在同一个动作上获得多个提要,我想只检索一个动作的一个提要/状态(如果可能的话,在这种情况下优先处理它将是完美的)。

所以我考虑为每个操作分配唯一ID,并使用相同的操作ID过滤Feed /状态...

START profile1=node({0}) match me-[r:FOLLOW*0..1]->subject with subject match 
subject-[:STATUS]->lastStatus-[:NEXT*0..1]->status return distinct 
status.actionId order by status.creationTime desc limit 10

但它无法执行...但例外:查询无效 未知标识符status

无论哪种方式,我认为该查询应该返回状态的actionId ..而不是实际的状态..

为了检索要通过actionId区分的状态,需要什么查询?如果在一个查询中有两个具有相同actionId的状态,我可以优先考虑吗?

这是解决该问题的正确方法:)?

感谢您的回答..

0 个答案:

没有答案