如何以GraphJSON格式而不是树格式返回Neo4j OGM实体以进行可视化?

时间:2015-10-01 06:08:33

标签: json d3.js neo4j spring-data-neo4j neo4j-ogm

我以嵌套树格式从Neo4j OGM(对象图形映射)获取JSON数据。 http://bl.ocks.org/mbostock/4063550

但是为了可视化复杂的图形,我需要以下面的graphJSON格式获取JSON数据。 http://bl.ocks.org/mbostock/4062045

即节点和链接分开。

  

这是用于使用d3.js可视化来显示来自Neo4j的数据   在使用Java执行各种操作之后。

2 个答案:

答案 0 :(得分:1)

如果您的数据json采用http://bl.ocks.org/mbostock/4063550中定义的格式 并且您希望将其变为http://bl.ocks.org/mbostock/4062045中定义的json格式。

做这样的事情:

//this will make the nodes
function flatten(root) {
    var nodes = [];
    var i = 0;

    function recurse(node) {
        if (node.children) node.children.forEach(recurse);
        if (!node.id) node.id = ++i;
        nodes.push(node);
    }

    recurse(root);
    return nodes;
}
//Here root is the json defined in http://bl.ocks.org/mbostock/4063550
nodes = flatten(root);
//this will return the links in the desired format
links = d3.layout.tree().links(nodes);
//check console for output
console.log(nodes)
console.log(links)

是的,您可以动态更改数据,有很多例子。 工作代码here 希望这有帮助!

答案 1 :(得分:1)

有关如何在以下链接的示例中执行此操作的文档:

示例如下: