原则
- cypher用于数据的更新和查询
- 一个cypher语句不能同时查询和更新
- label没有属性
- relationship
(1). 有方向
(2). 有类型
(3). Relationships form patterns of data
命名规范
- 实体变量名—小写,属性名—小写
- 实体标签名—-首字母大写
- 关系—大写
参数
现在不知道为什么不能使用
语法
- 属性有三种类型:字符串,数字,布尔值
- 支持的数据类型
Numeric values,
String values,
Boolean values,
Nodes,
Relationships,
Paths,
Maps from Strings to other values,
Collections of any other type of value. - type(r)提取到关系的类型,关系本身应该是一系类属性
- NULL可以是任意类型的一个取值
- 注意:labels are not values but are a form of pattern syntax
- case语句
- 语法一:
- 语法二:
predicate 是一个判断表达式
- 语法一:
- cypher语言本身命令不去分大小写,但是使用的变量、关系、label名等区分大小写,必须字母开头
- 正则表达式匹配是
=~
- 即可具有in操作
- 添加注释
//
- 节点之间的pattern
(a)--(b)
//带不带箭头都可以 - 一个节点可以有多个标签
- 规定路径长度
(a)-[*2]->(b) //长度为2
(a)-[*3..5]->(b) //长度最小3,最大5 - 集合
return range(0,10)[10]
//官网说不包括结束索引,但是实际是包括的RETURN range(0,10)[0..3]
RETURN size(range(0,10)[0..3])
RETURN { key : "Value", collectionKey: [{ inner: "Map1" }, { inner: "Map2" }]} AS result
- NULL
- 任何含有NULL的集合,进行in运算,不匹配则,结果是NULL,匹配的话为true