neo4j - 如何在neo4j中找到从根到最大叶子的树深度
问题描述
我想找到树的深度
我找到了这个解决方案,但我不知道它是否适用于所有情况:
MATCH p=(parent)-[:RELATES*]->(child)
WHERE id(parent) = 30
RETURN p
ORDER BY length(p) DESC
limit 1
这给了我最长的路径,但首先:我不知道它是否总是有效的。其次:我希望输出是深度而不是列表本身。
解决方案
此查询应该有效:
MATCH p=(parent)-[:RELATES*]->(child)
WHERE ID(parent) = 30 AND NOT (child)-[:RELATES]>()
RETURN LENGTH(p) AS maxLth
ORDER BY maxLth DESC
LIMIT 1
虽然不是绝对必要的,但它只考虑child
叶子所在的路径。
推荐阅读
- html - (HTML) 如何在 title 属性中使用 \n?
- amazon-web-services - 是否可以将 AWS 的转码服务与 Google Storage 一起使用?
- java - Java CSVParser 断线
- r - 在 Linux 上编织的 R-Markdown 问题
- python - 如何正确安装 Face_recognition?
- c# - 如何将 JSON 字符串转换为 PSObject?
- excel - 如何将变量设置为 VBA 中 .find 函数的地址?
- pyqt5 - 如何在 Chaco 图中自动适应不同的显示分辨率?
- java - 检查字符串输入的任何部分是否不是数字
- xml - SSRS rsInvalidDataSourceCredentialSetting XML + SQL 数据源