我需要使用d3.js在图表视图中表示Neo4j节点。然而,Neo4j的输出是一个扁平的Json结构如下
Parent|Child
______|_____
A |B
A |C
A |D
B |E
B |F
C |G
D |H
D |I
但是我需要一个Tree数据结构才能使用d3.js
库可视化数据。
如何将其转换为如下结构
{
"name": "A",
"children": [
{
"name": "B",
"children": [
{
"name": "E",
"children": []
},
{
"name": "F",
"children": []
}
]
"name": "C",
"children":[
{
"name":"G"
"children":[]
}
]
}
依旧.....
答案 0 :(得分:2)
mkpchiran,
这不是一个完整的解决方案,但您至少可以通过查询此表单(假设您有通过以下方式链接的节点:CHILD_OF关系)获得部分方式:
MATCH (p)<-[:CHILD_OF]-(c)
WITH p, collect(c) AS cs
RETURN p, cs
这将为您提供每个父母的子集合,所以有以下几点:
A, [B, C, D]
B, [E, F]
C, [G]
D, [H, I]
希望这有点帮助。
恩典与和平,
吉姆
答案 1 :(得分:1)
您还可以查看我的cy2neo项目,该项目在javascript中解决了这个问题,即它使用来自resultDataContents:graph
的密码查询的结果,并使用alchemy.js将它们渲染为d3-graph