Cypher是图形数据库查询语言事实上的标准。
一,Cypher类型系统Cypher支持的类型系统分为三类:属性类型,复合类型和结构类型。
1,属性类型
属性类型:Integer、Float、String和Boolean
Boolean类型:true, false, TRUE, FALSE
String类型:'Hello', "World"
2,复合类型
复合类型:List和Map,List是有序的值的集合,Map是无序的Key/Value对的集合,通常用于存储节点和关系的属性。
List类型:['a', 'b'], [1, 2, 3], ['a', 2, n.property, $param], [ ]
Map类型:n是节点,prop是节点的属性键,引用属性的值的格式:n.prop,
3,结构类型
结构类型:Node类型、关系类型、Path类型:
其中Node类型表示一个节点,由Id、Label和Map构成;
关系类型表示一个关系,由Id、Type、Map和 关系两端的两个节点的Id构成;
Path类型表示路径,是节点和关系的序列。Path模式:(a)-->()<--(b)
3,List类型
由标量类型构成的List,例如,['a', 'b'], [1, 2, 3]
由函数range函数生成的List对象,例如,range(0,10),从start到end的有序数字,Range函数包含两端。
列表(List comprehension):[x IN range(0,10) WHERE x % 2 = 0 | x^3]
4,Map类型
列表的常量表示:{ key: 'Value', listKey: [{ inner: 'Map1' }, { inner: 'Map2' }]}
Map投影,用于从节点、关系和其他Map对象中投影值,Map投影的格式是:
map_variable {map_element, [, …n]}