用于检索数据树的Neo4j cypher查询

用于检索数据树的Neo4j cypher查询,neo4j,cypher,Neo4j,Cypher,如果你想查询一个特定的节点类型和相关的节点,那么解决方案很简单,通过使用collect函数,我们可以实现这个目标,比如返回country,collect(city)as c 但是如果我们需要检索一个数据树,比如血统或者用户->帖子->评论->喜欢什么呢 在cypher输出中是否有处理此类数据的解决方案?给出以下图表: CREATE (user:User { id: 0 }) CREATE (post:Post) CREATE (comment:Comment) CREATE (user)-[:P

如果你想查询一个特定的节点类型和相关的节点,那么解决方案很简单,通过使用collect函数,我们可以实现这个目标,比如返回country,collect(city)as c

但是如果我们需要检索一个数据树,比如血统或者用户->帖子->评论->喜欢什么呢
在cypher输出中是否有处理此类数据的解决方案?

给出以下图表:

CREATE (user:User { id: 0 })
CREATE (post:Post)
CREATE (comment:Comment)
CREATE (user)-[:POSTED]->(post)<-[:ON]-(comment)<-[:COMMENTED]-(user)
CREATE (user)-[:LIKES]->(comment)
这将导致以下输出:

+----------------------------------------------------------------+
| p                                                              |
+----------------------------------------------------------------+
| [Node[6]{id:0},:COMMENTED[8] {},Node[8]{},:ON[7] {},Node[7]{}] |
| [Node[6]{id:0},:LIKES[9] {},Node[8]{},:ON[7] {},Node[7]{}]     |
| [Node[6]{id:0},:POSTED[6] {},Node[7]{}]                        |
| [Node[6]{id:0},:COMMENTED[8] {},Node[8]{}]                     |
| [Node[6]{id:0},:LIKES[9] {},Node[8]{}]                         |
+----------------------------------------------------------------+
5 rows
19 ms
要查看什么相关以及如何相关,请运行以下查询:

MATCH (user:User { id: 0 })
MATCH p=(user)-[*]->(post)
RETURN p
ORDER BY length(p) DESC
// What is related, and how
MATCH (a)-[r]->(b)
WHERE labels(a) <> [] AND labels(b) <> []
RETURN DISTINCT head(labels(a)) AS This, type(r) as To, head(labels(b)) AS That
LIMIT 10

thnx但我需要结果集作为组,例如user-[:posted]->(post)user2-[:commented]->(comment1)(comment2)(comment2)user5-[:like]->(comment2)user6-[:like]->(comment2)在facebook这样的新闻提要中,我们应该检索并解析每个帖子和相关节点
+-------------------------------------+
| This      | To          | That      |
+-------------------------------------+
| "User"    | "POSTED"    | "Post"    |
| "User"    | "COMMENTED" | "Comment" |
| "User"    | "LIKES"     | "Comment" |
| "Comment" | "ON"        | "Post"    |
+-------------------------------------+
4 rows
139 ms