Neo4j 基于不同的关系礼节计算关系

Neo4j 基于不同的关系礼节计算关系,neo4j,Neo4j,在每个关系中,我都有一个礼节SAB,它有10个不同的值。我想依靠distinct SAB PROPERTY计算不同关系的数量,并将其显示为列表 MATCH (n)-[r]->(m) WITH n,m,collect(r)[1..] AS rels, r.SAB AS SAB FOREACH(distinct SAB IN rels | count(r)) return count(r), rels; 我试图创建一个查询,它将为我做到这一点,但我没有足够的知识 我想要一份清单 type1

在每个关系中,我都有一个礼节SAB,它有10个不同的值。我想依靠distinct SAB PROPERTY计算不同关系的数量,并将其显示为列表

MATCH (n)-[r]->(m) WITH n,m,collect(r)[1..] AS rels, r.SAB AS SAB  FOREACH(distinct SAB IN rels | count(r)) return count(r), rels;
我试图创建一个查询,它将为我做到这一点,但我没有足够的知识

我想要一份清单

type1(SAB)  COUNT(HAS_CHILD) 1000
type1(SAB)  COUNT(HAS_DESCENDANT) 2000
type2(SAB)  COUNT(HAS_CHILD) 2198
type2(SAB)  COUNT(HAS_DESCENDANT) 81924
....
UNTIL TYPE 10 SAB

如果我是对的,你想问这样的问题

MATCH (n)-[r]->(m)
RETURN DISTINCT r.SAB, TYPE(r), COUNT(r)
结果

    r.SAB    TYPE(r)           COUNT(r)
    sab01    HAS_CHILD         1
    sab02    HAS_DESCENDANT    2
    sab02    HAS_CHILD         1

如果我是对的,你想问这样的问题

MATCH (n)-[r]->(m)
RETURN DISTINCT r.SAB, TYPE(r), COUNT(r)
结果

    r.SAB    TYPE(r)           COUNT(r)
    sab01    HAS_CHILD         1
    sab02    HAS_DESCENDANT    2
    sab02    HAS_CHILD         1

此处不需要特别注意,因为在执行聚合时,分组键(所有非聚合变量)会自动变为特别注意。此处不需要特别注意,因为在执行聚合时,分组键(所有非聚合变量)会自动变为特别注意。