假设这个代表完整的层次结构,但我还需要通过在不同级别进行分组来创建中间结果。
假设我正在为节点A请求数据。我希望以最近的组关系重新组合节点。我会得到这样的东西:
基本上,用户可以将节点关联到组,我需要以方便的方式表示数据以显示组织结构图。
我不知道从哪里开始获得最佳解决方案。
这是我的neo4js db:
CREATE (a:Node { name: 'a' }), (b:Node { name: 'b' }),
(c:Node { name: 'c' }), (d:Node { name: 'd' }),
(e:Node { name: 'e' }), (f:Node { name: 'f' }),
(g:Node { name: 'g' }), (h:Node { name: 'h' }),
(g1:Group { name: 'group1'}),
(g2:Group { name: 'group2'}),
(g3:Group { name: 'group3'}),
(a)-[:child]->(b),
(a)-[:child]->(c),
(a)-[:child]->(d),
(b)-[:child]->(e),
(c)-[:child]->(f),
(c)-[:child]->(g),
(c)-[:child]->(h),
(b)-[:belongsTo]->(g1),
(c)-[:belongsTo]->(g2),
(g)-[:belongsTo]->(g3),
(h)-[:belongsTo]->(g3);
答案 0 :(得分:0)
如果您想查看任何给定组中包含的组织数量,这很简单:
MATCH (g:Group)<-[:belongsTo]-(x:Node)
RETURN g.name, count(x);
这将为您提供每个组名,以及其中包含的节点数。