Cypher数据类型和Cypher函数
一、Cypher数据类型
Cypher 支持丰富的数据类型,以满足图数据存储与查询的多样化需求。Cypher 中的值可以作为节点或关系的属性,也可用于查询条件、函数参数或返回结果。
1.1.基本数据类型
|
类型 |
示例 |
说明 |
|
String |
'Neo4j', '王宝强' |
字符串,必须用单/双引号括起来 |
|
Integer |
42, 2025 |
整数类型 |
|
Float |
3.14, 99.99 |
浮点类型,带小数点 |
|
Boolean |
true, false |
布尔值 |
1.2.复合数据类型
|
类型 |
示例 |
说明 |
|
List |
['王宝强', '刘昊然'] |
有序列表,可存储多个值 |
|
Map |
{year: 2025, month: 6, day: 1} |
键值对形式的结构,常用于函数参数传递 |
二、Cypher函数
Cypher 提供了丰富的内置函数,用于处理字符串、数值、集合、日期时间、布尔值等类型的数据。
2.1.字符串函数
用于对字符串进行格式化、截取、替换等常见操作,便于对文本属性进行处理和筛选。
|
函数 |
示例 |
说明 |
|
toUpper() |
RETURN toUpper('neo4j') → 'NEO4J' |
转为大写 |
|
toLower() |
RETURN toLower('NEO4J') → 'neo4j' |
转为小写 |
|
substring() |
RETURN substring('neo4j', 0, 3) → 'neo' |
截取子串 |
|
replace() |
RETURN replace('neo4j', 'o', 'O') → 'neO4j' |
替换字符串 |
|
trim() |
RETURN trim(' hello ') → 'hello' |
去除前后空格 |
|
left() / right() |
RETURN left('hello', 2) → 'he' |
左/右截取 |
2.2.数学函数
提供基础的数学计算功能,如绝对值、四舍五入、取整、开方和生成随机数等。
|
函数 |
示例 |
说明 |
|
abs() |
RETURN abs(-5) → 5 |
绝对值 |
|
round() |
RETURN round(3.6) → 4.0 |
四舍五入 |
|
ceil() |
RETURN ceil(3.2) → 4.0 |
向上取整 |
|
floor() |
RETURN floor(3.8) → 3.0 |
向下取整 |
|
rand() |
RETURN rand() |
返回 0~1 间的随机数 |
|
sqrt() |
RETURN sqrt(9) → 3.0 |
平方根 |
2.3.集合函数
用于处理列表数据结构,支持统计长度、获取首尾元素以及判断元素是否存在等操作。
|
函数 |
示例 |
说明 |
|
size() |
RETURN size(['a', 'b', 'c']) → 3 |
集合长度 |
|
head() |
RETURN head(['a', 'b', 'c']) → 'a' |
返回第一个元素 |
|
last() |
RETURN last(['a', 'b', 'c']) → 'c' |
返回最后一个元素 |
|
in |
RETURN '刘昊然' IN ['王宝强','刘昊然'] → true |
判断元素是否存在于集合中 |
2.4.日期时间函数
用于获取当前的日期、时间或完整的时间戳,常用于记录数据创建和修改的时间点。
|
函数 |
示例 |
说明 |
|
date() |
RETURN date() |
返回当前日期 |
|
time() |
RETURN time() |
返回当前时间 |
|
datetime() |
RETURN datetime() |
返回当前日期时间 |

浙公网安备 33010602011771号