从指定节点遍历DAG(有向非循环图)以创建树视图

时间:2012-09-03 13:16:35

标签: mysql sql tree hierarchical-data directed-acyclic-graphs

我正在使用以下方法将有关非循环图的零件数据库放在一起。 http://www.codeproject.com/Articles/22824/A-Model-to-Represent-Directed-Acyclic-Graphs-DAG-o

我可以使用该页面中的SQL查询构建我的数据集,我已将其转换为MySQL。

以前我使用过嵌套集模型,尽管我们发现删除成了问题。 我无法找到有关如何使用此模型遍历树的任何信息。我只需要能够创建一个html树来显示所选父节点的后代并识别叶节点(将使用jstree)。

如果有帮助,我可以从嵌套集模型中发布代码。我不需要任何关于html的帮助,这是我坚持使用的SQL。

有没有人知道我在哪里可以找到有关我需要的查询的信息。

编辑: 继续下去之后,我想适应与比尔卡温斯关闭模型更紧密相关的事情。 http://www.slideshare.net/billkarwin/models-for-hierarchical-data 我注意到在幻灯片49-50上,我想要选择节点的后代,输出似乎不足以绘制一个简单的树。以前使用嵌套集模型我能够得到一个类似的输出,从左到右,从上到下遍历。我会试着解释一下。

Item | Depth

1    |   0

2    |   0

3    |   1

6    |   2

7    |   0

9    |   1

这允许我绘制一棵树,因为SQL以更易于操作的方式列出了后代的顺序。我相信它通过使用COUNT个子树来创建“深度”,如果它在这里有用,我会挖出查询。

再次感谢您的帮助。

0 个答案:

没有答案