一、类型
- 数值型
- 字符串
- 布尔型
- 节点
- 关系
- 路径
- 映射
- 列表
二、表达式
- 参数:0
- 计算式:1+2 and 3 < 4
- 返回布尔值的断言表达式:a.prop = 'Hello'、length(p)>10、exists(a.name)
- 正则表达式:a.name = ~'He.*'
- Case 表达式
三、Case表达式
CASE表达式类似if else 语句
1、简单case表达式
MATCH (n)
RETURN
CASE n.eyes
WHEN 'blue'
THEN 1
WHEN 'brown'
THEN 2
ELSE 3 END AS result
2、一般case表达式
与简单表达式不同于,CASE语句后不加表达式,表达式在WHEN后判断
MATCH (n)
RETURN
CASE
WHEN n.eys = 'bule'
THEN 1
WHEN n.age < 40
THEN 2
ELSE 3 END AS result
3、变量
变量命名区分大小写,特殊字符使用反引号 括起来,如 match (
$p
:food) return $p
4、参数
4.1 字符串
定义参数:
{
"name":"Tom"
}
方式一:
MATCH (n)
WHERE n.name = $ name
RETURN n
方拾二:
MATCH (n {n.name = $name })
RETURN n
4.2 正则表达式
参数:
{
"regex":".h.*"
}
查询:
MATCH (n)
WHERE n.name = ~$regex
RETURN n.name
4.3 大小写敏感字符串模式匹配
参数:
{
"name":"Michael"
}
查询:
MATCH (n)
WHERE n.name STARTS WITH $name
RETURN n.name
4.4 创建多个带多个属性的节点
参数:
{
'props':[{
'awsome':true,
'name':'Andy',
'position':'Developer'
},{
'children':3,
'name':'Machel',
'position':'Developer'
}]
}
创建:
UNWIND $props as properties
CREATE (n:Person)
SET n = properties
RETURN n
4.5 设置节点属性
参数
{
'props':{
'name':'Laowang',
'position':'Developer'
}
}
使用:
MATCH (n)
WHERE n.name = 'Laowang'
SET n = $props