CQL
- CQL代表Cypher查询语言,Neo4j具有CQL作为查询语言。
Neo4j CQL命令/条款
常用的Neo4j CQL命令/条款如下:
S.No. | CQL命令/条 | 用法 |
---|---|---|
1 | CREATE 创建 | 创建节点,关系和属性 |
2 | MATCH 匹配 | 检索有关节点,关系和属性数据 |
3 | RETURN 返回 | 返回查询结果 |
4 | WHERE 哪里 | 提供条件过滤检索数据 |
5 | DELETE 删除 | 删除节点和关系 |
6 | REMOVE 移除 | 删除节点和关系的属性 |
7 | ORDER BY 以…排序 | 排序检索数据 |
8 | SET 组 | 添加或更新标签 |
Neo4j CQL 函数
以下是常用的Neo4j CQL函数:
S.No. | 定制列表功能 | 用法 |
---|---|---|
1 | String 字符串 | 它们用于使用String字面量。 |
2 | Aggregation 聚合 | 它们用于对CQL查询结果执行一些聚合操作。 |
3 | Relationship 关系 | 他们用于获取关系的细节,如startnode,endnode等 |
CREATE + MATCH
## 创建节点
CREATE (n1:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
RETURN n1
## 查询
# 查询Employee标签下 id=123,name="Lokesh"的节点
MATCH (p:Employee {id:123,name:"Lokesh"})
RETURN p ## 可以用p.id, p.name来限制返回条件
## 创建没有属性的关系与现有节点
MATCH (e:Customer),(cc:CreditCard)
CREATE (e)-[r:DO_SHOPPING_WITH ]->(cc)
RETURN r
## 创建与现有节点的属性的关系
MATCH (cust:Customer),(cc:CreditCard)
CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc)
RETURN r
## 创建新节点无属性关系
CREATE (fb1:FaceBookProfile1)-[like:LIKES]->(fb2:FaceBookProfile2)
RETURN like
## 创建新节点有属性关系
CREATE (video1:YoutubeVideo1{title:"Action Movie1",updated_by:"Abc",uploaded_date:"10/10/2010"})
-[movie:ACTION_MOVIES{rating:1}]->
(video2:YoutubeVideo2{title:"Action Movie2",updated_by:"Xyz",uploaded_date:"12/12/2012"})
RETURN movie
## 创建单/多个标签到节点
CREATE (m1:Movie)
CREATE (m1:Movie:Cinema:Film:Picture)
DELETE
- 删除节点
- 删除节点及相关节点和关系。
# 删除所有节点和关系
match (n) detach delete n
## 删除指定节点与关系
MATCH (cc: CreditCard)-[rel]-(c:Customer)
DELETE cc,c,rel
REMOVE
- 删除属性or标签
## 删除某一属性
MATCH (book { id:122 })
REMOVE book.price
RETURN book
## 删除某一标签
MATCH (m:Movie)
REMOVE m:Picture
SET
- 向现有节点或关系添加新属性
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book
ORDER BY
- 对MATCH查询返回的结果进行排序,默认情况下,它按升序对行进行排序。 如果我们要按降序对它们进行排序,我们需要使用DESC子句。
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name
UNION + AS
- 将两个不同的结果合并成一组结果
MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number,cc.name as name,
cc.valid_from as valid_from,cc.valid_to as valid_to
UNION
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number,dc.name as name,
dc.valid_from as valid_from,dc.valid_to as valid_to
其他未整理但CQL相关
- 字符串函数
- 关系函数
- AGGREGATION聚合
- 索引
- 约束
- JAVA API
- Spring DATA Neo4j (ORM)