Apache Age(图形扩展名)是一个强大而有效的图形数据库,该数据库构建在PostgreSQL顶部。它使用Cypher查询语言提供图形处理和查询功能,并且数据分析的基本操作之一是计数,Apache Age将count()
功能作为重要工具,可用于从图形数据中收集有价值的见解。
因此,在此博客文章中,我们将查看Apache Age中的count()
功能,并演示如何使用图形数据库提取有意义的信息。
count()函数
count()函数是Apache Age中的聚合函数下的函数,用于返回图中特定模式或元素的出现数量。 count()
函数返回值或记录的数量,并且以两个变体出现:
count(*)
返回所有匹配记录的数字,而count(expr)
返回了由表达式返回的非NULL值的数字(变量传递到函数中)。
按顺序单词,通过利用count()
函数,您可以执行汇总计算,过滤数据并获得对图形的结构和复杂性的更深入的了解。
语法
count()
函数接受参数(count(expression)
)并返回整数。
使用count()
函数时要考虑的事情
-
count(*)
包括返回null的记录 -
count(expr)
忽略了零值。 -
count(null)
返回0。 -
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()
功能是用于分析图形数据和提取有意义见解的多功能工具。通过利用此功能,您可以获得有关图表的有价值的统计信息,执行汇总计算,并对数据中的关系和模式有更深入的了解。
参考
- The Aggregation functions in Apache AGE
- The count() function In Apache AGE
- 访问Apache Age网站:https://age.apache.org/
- 访问apache age github:https://github.com/apache/age
- 请访问Apache Ape Age Viewer Github:https://github.com/apache/age-viewer11