前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypher 入门笔记

Cypher 入门笔记

作者头像
UM_CC
发布2022-09-22 15:04:46
1.1K0
发布2022-09-22 15:04:46
举报

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

代码语言:javascript
复制
## 创建节点
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

  • 删除节点
  • 删除节点及相关节点和关系。
代码语言:javascript
复制
# 删除所有节点和关系
match (n) detach delete n

## 删除指定节点与关系
MATCH (cc: CreditCard)-[rel]-(c:Customer) 
DELETE cc,c,rel

REMOVE

  • 删除属性or标签
代码语言:javascript
复制
## 删除某一属性
MATCH (book { id:122 })
REMOVE book.price
RETURN book

## 删除某一标签
MATCH (m:Movie) 
REMOVE m:Picture

SET

  • 向现有节点或关系添加新属性
代码语言:javascript
复制
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book

ORDER BY

  • 对MATCH查询返回的结果进行排序,默认情况下,它按升序对行进行排序。 如果我们要按降序对它们进行排序,我们需要使用DESC子句。
代码语言:javascript
复制
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name

UNION + AS

  • 将两个不同的结果合并成一组结果
代码语言:javascript
复制
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)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CQL
    • Neo4j CQL命令/条款
      • Neo4j CQL 函数
        • CREATE + MATCH
          • DELETE
            • REMOVE
              • SET
                • ORDER BY
                  • UNION + AS
                    • 其他未整理但CQL相关
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档