Apache年龄的聚合功能:count()函数
#postgres #database #apache #apacheahe

Apache Age(图形扩展名)是一个强大而有效的图形数据库,该数据库构建在PostgreSQL顶部。它使用Cypher查询语言提供图形处理和查询功能,并且数据分析的基本操作之一是计数,Apache Age将count()功能作为重要工具,可用于从图形数据中收集有价值的见解。

因此,在此博客文章中,我们将查看Apache Age中的count()功能,并演示如何使用图形数据库提取有意义的信息。


count()函数

count()函数是Apache Age中的聚合函数下的函数,用于返回图中特定模式或元素的出现数量。 count()函数返回值或记录的数量,并且以两个变体出现:
count(*)返回所有匹配记录的数字,而count(expr)返回了由表达式返回的非NULL值的数字(变量传递到函数中)。

按顺序单词,通过利用count()函数,您可以执行汇总计算,过滤数据并获得对图形的结构和复杂性的更深入的了解。


语法
count()函数接受参数(count(expression))并返回整数。

使用count()函数时要考虑的事情

  1. count(*)包括返回null的记录
  2. count(expr)忽略了零值。
  3. count(null)返回0。
  4. count(*)可用于返回节点的数量;例如,连接到某个节点的节点的数量

使用count(*)返回值的数量

查询

SELECT *
FROM cypher('graph_name', $$
    MATCH (n {name: 'A'})-[]->(x)
    RETURN n.age, count(*)
$$) as (age agtype, number_of_people agtype);

    age     | no_of_people
------------+--------------
    20      | 5
(1 row)

在此查询中,返回了开始节点n的标签和age属性和与n相关的节点的数量。


  • 我们还可以使用count()进行分组和计数关系类型。 count()函数可用于分组关系类型并返回数字。

查询

SELECT *
FROM cypher('graph_name', $$
    MATCH (n {name: 'A'})-[r]->()
    RETURN type(r), count(*)
$$) as (label agtype, count agtype);

    label   | count
------------+--------------
    Knows   | 3
(1 row)

您可以看到返回关系类型及其组计数。


使用count(expression)返回值的数量

而不是简单地返回计数(*)的记录数,而是返回由表达式返回的值的实际值数量。

查询

SELECT *
FROM cypher('graph_name', $$
    MATCH (n {name: 'A'})-[]->(x)
    RETURN count(x)
$$) as (count agtype);

   count
-----------
   3
(1 row)

返回连接到开始节点的节点的数量。


计算非零值

count(expression)可用于返回表达式返回的非null值的数量。

查询

SELECT *
FROM cypher('graph_name', $$
    MATCH (n:Person)
    RETURN count(n.age)
$$) as (count agtype);

   count
-----------
   3
(1 row)

在此查询中,您可以看到:返回具有age属性的人节点的数量。


结论

总而言之,Apache Age中的count()功能是用于分析图形数据和提取有意义见解的多功能工具。通过利用此功能,您可以获得有关图表的有价值的统计信息,执行汇总计算,并对数据中的关系和模式有更深入的了解。


参考