我的数据库存储家庭关系。
我要做的是返回具有特定ID的人的整个家谱。
我尝试了以下查询:
MATCH (p:Person {id:'1887'})-[r*1..3]-(k:Person)
RETURN distinct(p), r, k
但我没有得到我想要的结果。
为了更清楚,我希望得到具有指定ID的人的所有关系,以及他所连接的所有其他节点的关系。
进一步解释,这是一个例子:
鲍里斯是迈克和安娜的父母。除了看到鲍里斯与他们的关系外,我还希望看到迈克和安娜与子图的进一步关系。
答案 0 :(得分:2)
我相信你应该尝试返回完整的路径,如下所示:
MATCH path = (p:Person {id:'1887'})-[r*1..3]-(k:Person)
RETURN path
此查询将存储具有id = 1887
的人与深度为1到3的另一个人之间的路径,并将其返回。或者,如果您只对节点感兴趣,可以使用nodes()函数提取它:
MATCH path = (p:Person {id:'1887'})-[r*1..3]-(k:Person)
RETURN nodes(path)