Я использую neo4j для своих социальных проектов, где Пользователь может создавать, размещать и размещать публикации, а также может подписываться друг на друга, и пользователь может видеть созданную, понравившуюся и опубликованную запись его подписчика на своей временной шкале.Я хочу сводное сообщение типа: «Вы, Гарри и другие 20 человек поделились этим сообщением»
MATCH (n:User {user_id:'5bbc7962b87e07476f6c04db'})-[:FOLLOWS]->(f:User)-[p:CREATED]-(d)
RETURN d,
SIZE( ()-[:LIKED]->(d) ) as likecount,
SIZE( ()-[:SHARED]->(d) ) as sharecount,
SIZE( (n)-[:LIKED]->(d) ) as likestatus,
SIZE( (n)-[:SHARED]->(d) ) as sharestatus,
count(*) as postcount,
CASE
WHEN sharestatus = 1
THEN "You"
WHEN sharecount > 1
THEN "abc and xyz share this post"
END
ORDER BY d.updated_at DESC
SKIP 0
LIMIT 25
Я пробовал запрос выше, но не работал.
Любая помощь будет принята с благодарностью.