给出以下数据集:
(a)-[:PARENT]->(b)
(b)-[:PARENT]->(c)
(c)-[:PARENT]->(d)
(d)-[:PARENT]->(e)
(e)-[:PARENT]->(f)
(g)-[:PARENT]->(h)
(h)-[:PARENT]->(i)
我希望能够为父母以及来自" D"的儿童遍历图表。节点并限制结果集中完成的跳数(即我只想返回并转发两跳以使这些数据从" B"到" H"节点结束无视所有其他几代人。)
答案 0 :(得分:1)
此查询是否符合您的要求?它假定所有节点都具有带有字符串值的id
属性。
MATCH p=()-[:PARENT*..2]->(x)-[:PARENT*..2]->()
WHERE x.id = 'd'
WITH DISTINCT NODES(p) AS np
UNWIND np AS n
RETURN COLLECT(DISTINCT n.id)
根据您的数据,结果将是["b","c","d","e","f"]
。