我需要一些关于如何考虑以下问题的指示。
考虑一下这个Cypher问题:
MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user)
WHERE ID(n) = 54041
RETURN m,r,o
它给出了这个图表:
这个结果又回来了:
正如您所看到的,newscomment
与身体“嘿...... ”是身为“ Eyyy!”的节点的newscomment
em>“这是newscomment
到news
节点。
到目前为止,这么好。但是,在网站上我想要显示新闻,下面我想以分层方式列出所有新闻评论,就像这个reddit example一样。
就像现在一样,没有办法判断新闻评论是对新闻或其他新闻评论的评论。
我应该在每个节点上将父节点id
保存为parent
属性吗?我可以以某种方式获得步骤[r:COMMENT*1..]
的顺序,这样就可以找出将评论放在UI中的位置吗?
你会如何解决这个问题?
答案 0 :(得分:3)
我想也许你正在寻找一个简单的子查询来找到父母:
MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user)
WHERE ID(n) = 54041
WITH m,r,o
MATCH (m)-[:COMMENT]->(parent)
RETURN m, r, o, parent
这会有用吗?