如何在Neo4j中获取从根到叶的所有路径(DFS方式),并返回包含节点和关系的结果



我有一个图,我使用下面的密码来显示图中的所有路径。这将返回所有节点。CQL:MATCH p=(根{id:'start'}(-[*]->(leaf(RETURN EXTRACT(x IN NODE(p(|x.name(AS result;

我想返回节点和边,这样外行就可以理解图中从根到叶的所有路径。

可以获得所有可用路径的列表,如下所示。

MATCH p=(root {id: 'start'})-[*]->(leaf)  
// limit the match to the ones that end at a leaf
WHERE NOT (leaf)-->()

RETURN DISTINCT REDUCE (s='', r in RELATIONSHIPS(p) | 
s+
CASE WHEN s='' THEN '('+startNode(r).name + ')-[:'+ type(r)+']->('+ endNode(r).name+')'
ELSE '-[:'+ type(r)+']->('+ endNode(r).name+')'
END
) AS path

最新更新