我正在遵循此处所示的嵌套集模型:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
我有层次数据,实际上是一堆带有边/节点的不同图形,我希望可视化它。我理解嵌套集的概念,但不知道如何在不运行过多查询(性能)的情况下知道每个节点的父/子关系。
我正在尝试使用来自visjs的http://visjs.org/examples/network/basicUsage.html之类的内容来创建图表。
但是visjs想要采用以下格式的数据集:
<script type="text/javascript">
// create an array with nodes
var nodes = new vis.DataSet([
{id: 1, label: 'Node 1'},
{id: 2, label: 'Node 2'},
{id: 3, label: 'Node 3'},
{id: 4, label: 'Node 4'},
{id: 5, label: 'Node 5'}
]);
// create an array with edges
var edges = new vis.DataSet([
{from: 1, to: 3},
{from: 1, to: 2},
{from: 2, to: 4},
{from: 2, to: 5}
]);
// create a network
var container = document.getElementById('mynetwork');
var data = {
nodes: nodes,
edges: edges
};
var options = {};
var network = new vis.Network(container, data, options);
</script>
有没有办法可以运行单个查询或有效的函数来返回数据,以便我知道:
节点1(lft 1,rgt 8)有子节点2(2,3)和节点3(4,7)
节点3具有子节点4(5,6)
Node 1
/\
Node 2 Node 3
|
Node 4
我可以获得完整的树,或者我可以做缩进的事情,
基于visjs示例,我不确定如何有效地了解每个节点及其边缘。
任何建议都将不胜感激。谢谢!
答案 0 :(得分:0)
这取决于你的意思&#34; visualize。&#34;
在您选择的任何编程语言中,有向图可以表示为一组节点对,每个节点对代表一个父节点和一个子节点。没有父节点的节点是源,而没有子节点的节点是宿。有许多众所周知且广泛发布的算法,用于行走树的切割并评估所有可能的步道,电路等。