apoc.nodes.group过程
|
语法 |
|
||
描述 |
允许基于给定属性对 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
需要聚合的节点标签列表。使用 |
|
|
|
用于对节点进行分组的属性键。 |
|
|
|
第一个映射指定要聚合的节点属性及其对应的聚合函数,第二个映射指定用于聚合的关系属性。默认值为: |
|
|
|
|
|
返回参数 |
名称 |
类型 |
描述 |
|
|
以虚拟节点形式表示的分组节点列表。 |
|
|
|
以虚拟关系形式表示的分组关系列表。 |
|
|
|
分组节点。 |
|
|
|
分组关系。 |
|
使用示例
本节中的示例基于以下示例图
CREATE
(alice:Person {name:'Alice', gender:'female', age:32, kids:1}),
(bob:Person {name:'Bob', gender:'male', age:42, kids:3}),
(eve:Person {name:'Eve', gender:'female', age:28, kids:2}),
(graphs:Forum {name:'Graphs', members:23}),
(dbs:Forum {name:'Databases', members:42}),
(alice)-[:KNOWS {since:2017}]->(bob),
(eve)-[:KNOWS {since:2018}]->(bob),
(alice)-[:MEMBER_OF]->(graphs),
(alice)-[:MEMBER_OF]->(dbs),
(bob)-[:MEMBER_OF]->(dbs),
(eve)-[:MEMBER_OF]->(graphs);
CALL apoc.nodes.group(
['*'],
['gender'],
[{`*`:'count', age:'min'}, {`*`:'count'} ]
)
YIELD relationships
UNWIND relationships as rel
RETURN apoc.rel.startNode(rel) AS start, rel, apoc.rel.endNode(rel) AS end;
| 开始 | 关系 | 结束 |
|---|---|---|
(:Person {gender: "female", min_age: 28, `count_*`: 2}) |
[:MEMBER_OF {`count_*`: 3}] |
(:Forum {gender: NULL, `count_*`: 2}) |
(:Person {gender: "female", min_age: 28, `count_*`: 2}) |
[:KNOWS {`count_*`: 2}] |
(:Person {gender: "male", min_age: 42, `count_*`: 1}) |
(:Person {gender: "female", min_age: 28, `count_*`: 2}) |
[:KNOWS {`count_*`: 2}] |
(:Person {gender: "male", min_age: 42, `count_*`: 1}) |
(:Person {gender: "male", min_age: 42, `count_*`: 1}) |
[:MEMBER_OF {`count_*`: 1}] |
(:Forum {gender: NULL, `count_*`: 2}) |