在第1部分中,我们讨论了复合数据类型第1部分。现在,在第2部分中,我们将讨论有关复合数据类型的更多部分。我们的重点是地图。
地图:
您可以在Cypher中构造地图。
使用agtypes的简单地图。
查询:
以下查询代表具有简单数据类型的字面图。
SELECT *
FROM cypher('graph_name', $$
WITH {int_key: 1, float_key: 1.0, numeric_key: 1::numeric, bool_key: true, string_key: 'Value'} as m
RETURN m
$$) AS (m agtype);
它返回图中的地图。
使用复合数据类型的地图:
地图也可以包含复合数据类型,例如列表和其他地图。
查询:
SELECT *
FROM cypher('graph_name', $$
WITH {listKey: [{inner: 'Map1'}, {inner: 'Map2'}], mapKey: {i: 0}} as m
RETURN m
$$) AS (m agtype);
以上查询将返回屏幕上的列表和映射。
您还可以在查询时访问地图内的属性。例如,以下查询将返回int键的值,该值依次为1。
查询:
SELECT *
FROM cypher('graph_name', $$
WITH {int_key: 1, float_key: 1.0, numeric_key: 1::numeric, bool_key: true, string_key: 'Value'} as m
RETURN m.int_key
$$) AS (int_key agtype);
您还可以访问地图中的列表元素。
查询:
以下查询包含地图列表。您可以使用方括号和其中的索引号访问列表的内容。
SELECT *
FROM cypher('graph_name', $$
WITH {listKey: [{inner: 'Map1'}, {inner: 'Map2'}], mapKey: {i: 0}} as m
RETURN m.listKey[0]
$$) AS (m agtype);
您还可以在博客here的第1部分中阅读有关列表。
参考:
您可以在Age网站和GitHub上关注更多内容。