Neo4j Cypher查询返回不同的节点集

Neo4j Cypher查询返回不同的节点集,neo4j,cypher,Neo4j,Cypher,我有一个简单的社交网络图数据库模型。用户可以跟随其他用户并发布帖子。我正在尝试获取一个用户发布的所有帖子的列表,以及该用户关注的任何人发布的帖子 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)我

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

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)我想要一份简单的职位清单。我该怎么做?我需要进行两个单独的查询吗?

请访问:


您现在可以使用的另一种方法(更干净的方法是IMHO)是利用可变长度关系

START user=node...
MATCH (user) -[:FOLLOWS*0..1]-> (following) -[:POSTED]-> (post)
RETURN post
这种方式的优点是,它可以让您统一聚合自己的查询和朋友/追随者的查询。例如,排序、限制、分页等

START user=node...
MATCH (user) -[:FOLLOWS*0..1]-> (following) -[:POSTED]-> (post)
RETURN post