微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有一个图,在其中我使用了以下密码来显示Graph中的所有路径。这将返回所有节点。 CQL:MATCH p =(root {id:'start'})-[*]->(leaf)RETURN EXTRACT(x IN NODES(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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。