当前,我正在某种Instgram类型的社交网站上进行操作,用户可以在其中
这是一个非常典型的社交网站。
我的要求是根据我关注的用户活动生成时间表,而且我也不会看到被阻止用户的任何帖子。 为此,我使用以下查询:
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软件包。
有人可以建议我做错了什么吗?
任何帮助将不胜感激
谢谢