CQL
()
代表一个节点,用带有方向的箭头进行标记,两个节点之间的关系用[:XXXX]
来标记
CREATE创建
1 | // 1.创建单节点 |
MERGE 有则返回,没有则创建
merge和create的差别在于,如果当前已经有相同的关系则直接返回,如果没有则创建,而create无论是否有该关系,都会继续创建
1 | // 使用with的方法可以避免笛卡尔积警告 |
MATCH查询
1 | MATCH (n:Person) RETURN n LIMIT 25 |
DELETE删除(节点、关系)
1 | // 删除节点 (前提:节点不存在关系) |
REMOVE删除(属性、标签)
1 | // 删除属性 |
SET添加或更新属性值
1 | match (m:role {name:"fox666"}) set m.age=20 |
ORDER BY排序
1 | MATCH (n:Person) RETURN id(n),n.name order by id(n) desc |
UNION、UNION ALL联合查询
1 | // UNION返回不同的行(值不会重复),UNION ALL即使有相同的行也都返回(值会重复) |
LIMIT、SKIP
1 | // 和mongoDB类似,可以用作分页 |
NULL
1 | // 当我们创建一个具有现有节点标签名称但未指定其属性值的节点时,它将创建一个具有NULL属性值的新节点 |
IN
1 | match (a:Person) where a.name in ['牛魔王','孙悟空'] return a |
DISTINCT
1 | // 返回的是所有不同值 |
INDEX索引
1 | // 支持节点或关系属性上的索引 |
UNIQUE约束
1 | // 创建唯一约束,避免重复记录,强制执行数据完整性规则 |
结合SpringBoot
- 依赖
1 | <dependency> |
- 注解 (每个版本差别挺大,我用的2.5.4版本就没有其中一些注释)
1 | :实体属性 |
@Query
自定义CQL语句
1 |
|