我有一个简单的社交网络图数据库模型。用户可以关注其他用户并发布帖子。我正在尝试获取用户发布的所有帖子以及用户关注的任何人发布的所有帖子的列表

START a=node:node_auto_index(UserIdentifier = "USER0")
MATCH (a)-[:POSTED]->(b), (a)-[:FOLLOWS]->(c)-[:POSTED]->(d)
RETURN b, d;

它返回两者的叉积,即 b 中所有值与 d 中所有值的元组。 (b x d) 我想要一个直接的帖子列表。我该怎么做呢?我需要做两个单独的查询吗?

最佳答案

在 ojota 回答:

START a=node:node_auto_index(UserIdentifier = "USER0")
MATCH (a)-[:POSTED]->(b)
WITH a, collect(b) as posts
MATCH (a)-[:FOLLOWS]->(c)-[:POSTED]->(d)
RETURN posts, collect(d) as followersPosts;

关于Neo4j Cypher 查询 RETURN 不同的节点集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13136197/

10-16 22:38