映射¶
映射类型是一种复合数据类型,用于存储一组无序的键值对。映射中的每个键都是唯一的,并与特定的值相关联。
映射用花括号({})包围键值对,多个键值对之间用逗号(,)分隔。每个键与其对应的值之间用冒号(:)分隔。
映射类型必须按照格式MAP<key_type, value_type>声明,其中key_type和value_type分别指定键和值的数据类型。key_type和value_type均可以是任意预定义数据类型,或除记录和路径之外的复合数据类型。
声明示例¶
'''
CREATE GRAPH TYPE IF NOT EXISTS map_type AS {
NODE person
( {
id INT PRIMARY KEY,
name STRING,
attributes MAP<STRING, BOOL> DEFAULT MAP{ 'is_student': false, 'is_employed': true}
} )
}
'''
支持的操作符¶
映射类型支持以下操作符:
| 操作符 | 名称 | 描述 | 示例 | 结果 |
|---|---|---|---|---|
|| |
并集 | 将两个映射合并为一个新的映射。如果两个映射包含相同的键,则保留第一个映射中的值。 | RETURN MAP{'a': 1, 'b': 2} || MAP{'b': 3, 'c': 4} |
{a:1,b:2,c:4} |
IN |
成员包含 | 判断某个键是否存在于映射中。 | RETURN 'a' IN MAP{'a': 1, 'b': 2} |
true |
NOT IN |
成员排除 | 判断某个键是否不存在于映射中。 | RETURN 'c' NOT IN MAP{'a': 1, 'b': 2} |
true |