如何在neo4j中创建时间轴(禁止用户)

时间:2018-12-04 05:48:23

标签: neo4j social-networking

当前,我正在某种Instgram类型的社交网站上进行操作,用户可以在其中

  1. 注册
  2. 关注其他用户
  3. 联系其他用户
  4. 可以喜欢并分享其他用户的信息
  5. 为帖子添加书签

这是一个非常典型的社交网站。

我的要求是根据我关注的用户活动生成时间表,而且我也不会看到被阻止用户的任何帖子。 为此,我使用以下查询:

MATCH (n:User {user_id:'5b89012a1134ec4daa491d64'})-[fr:FOLLOWS]->(f:User)-[p:CREATED|:SHARED|:LIKED]->(d:Post)
WHERE ( fr.is_blocked=false  )
WITH d, n OPTIONAL MATCH (n)-[m:MYBID]->(d) WITH d,n,m as mybid_status
RETURN d, SIZE(()-[:LIKED]->(d) ) as likecount, SIZE( ()-[:SHARED]->(d) ) as sharecount,
SIZE( (n)-[:LIKED]->(d) ) as likestatus, SIZE( (n)-[:SHARED]->(d) ) as sharetatus,
SIZE( (n)-[:BOOKMARK]->(d) ) as bookmarkstatus, SIZE( (n)-[:REPORT]->(d) ) as reportstatus,
SIZE( (n)-[:MYBID]->(d) ) AS mybid, mybid_status,
SIZE( (n)-[:FOLLOWS]->(:User {user_id:d.owner_id}) ) as is_follow, count(*) as postcount
ORDER BY d.updated_at DESC
SKIP 0 LIMIT 10

上述查询的主要问题是,即使我阻止了该用户,我也可以在时间轴上看到他们的帖子。其归因于用户已在其他任何帖子上进行了喜欢或分享活动。

我正在使用neo4j 3.4和py2neo python软件包。

有人可以建议我做错了什么吗?

任何帮助将不胜感激

谢谢

0 个答案:

没有答案