映射函数

在 AGE 中,映射是一种数据结构,允许你存储键值对的集合。映射中的每个键都是唯一的,并与相应的值关联。这种数据结构类似于 Python 中的字典或 JavaScript 中的对象,提供了一种基于键来组织和检索数据的高效方式。本节重点介绍各种允许你有效生成和操作映射的函数。

vertex_stats()

vertex_stats() 函数可以从顶点中提取信息。将顶点作为参数传递给 vertex_stats 函数后,你将获得一个结构化的映射,其中包含以下键值对:

  • id:分配给顶点的唯一标识符;
  • label:对顶点进行分类的标签或类型;
  • in_degree:指向该顶点的入边数量;
  • out_degree:从该顶点出发的出边数量;
  • self_loops:与该顶点关联的自环边数量。

语法:vertex_stats(vertex)

数据准备

-- 创建图。
SELECT create_graph('vertex_stats_graph');

-- 创建顶点和边。
SELECT * FROM cypher('vertex_stats_graph', $$
CREATE (:Person {name: 'John Donne'})-[:WROTE]->(:Poem {title: 'Holy Sonnet XIV'})
$$) AS (a agtype);

查询

SELECT * FROM cypher('vertex_stats_graph', $$
MATCH (v:Poem {title: 'Holy Sonnet XIV'})
RETURN vertex_stats(v)
$$) AS (vertex_stats agtype);

结果

                                         vertex_stats
----------------------------------------------------------------------------------------------
 {"id": 22799473113563137, "label": "Poem", "in_degree": 1, "out_degree": 0, "self_loops": 0}
(1 row)

检索值

也可以使用以下语法从生成的映射中检索特定的值:vertex_stats(vertex)["key"]