02-Neo4j-CQL

02-Neo4j-CQL:

1、CQL简介

CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。

Neo4j CQL

  • 它是Neo4j图形数据库的查询语言。
  • 它是一种声明性模式匹配语言
  • 它遵循SQL语法。
  • 它的语法是非常简单且人性化、可读的格式。

CQL命令

S.No.CQL命令/条用法
1。CREATE 创建创建节点,关系和属性
2。MATCH 匹配检索有关节点,关系和属性数据
3。RETURN 返回返回查询结果
4。WHERE 哪里提供条件过滤检索数据
5。DELETE 删除删除节点和关系
6。REMOVE 移除删除节点和关系的属性
7。ORDER BY以…排序排序检索数据
8。SET 组添加或更新标签

CQL函数

S.No.定制列表功能用法
1。String 字符串它们用于使用String字面量。
2。Aggregation 聚合它们用于对CQL查询结果执行一些聚合操作。
3。Relationship 关系他们用于获取关系的细节,如startnode,endnode等。

CQL数据类型

这些数据类型与Java语言类似。 它们用于定义节点或关系的属性

Neo4j CQL支持以下数据类型:

S.No.CQL数据类型用法
1.boolean用于表示布尔文字:true,false。
2.byte用于表示8位整数。
3.short用于表示16位整数。
4.int用于表示32位整数。
5.long用于表示64位整数。
6.floatI用于表示32位浮点数。
7.double用于表示64位浮点数。
8.char用于表示16位字符。
9.String用于表示字符串。
Create命令:

1、创建无属性节点

CREATE (<node-name>:<label-name>)
语法元素描述
CREATE它是一个Neo4j CQL命令。
它是我们要创建的节点名称。
它是一个节点标签名称,别名
CREATE (emp:Employee)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjXFC2OT-1670683237313)(png/image-20210326110009232.png)]

在数据库中创建一个标签名“Employee”的节点“emp”

CREATE (dept:Dept)

在数据库中创建一个标签名“Dept”的节点“dept”

2、创建有属性节点

创建一个具有一些属性(键值对)的节点来存储数据

CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

语法说明:

语法元素描述
它是我们将要创建的节点名称。
它是一个节点标签名称
属性是键值对。 定义将分配给创建节点的属性的名称
属性是键值对。 定义将分配给创建节点的属性的值

CREATE (dept:Dept { deptno:10,dname:“Accounting”,location:“Hyderabad” })

CREATE (emp:Employee{id:123,name:“Lokesh”,sal:35000,deptno:10})

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PbZNrLCr-1670683237315)(png/image-20210326110528997.png)]

2、MATCH

MATCH 命令用于

  • 从数据库获取有关节点和属性的数据
  • 从数据库获取有关节点,关系和属性的数据

MATCH 命令语法:

MATCH 
(
   <node-name>:<label-name>
)
语法元素描述
这是我们要创建一个节点名称。
这是一个节点的标签名称

match需要结合return一起使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NZi3sPyH-1670683237315)(png/image-20210326144602509.png)]

# 查询Dept下的内容

MATCH (dept:Dept) return dept

#查询Employee标签下 id=123,name="Lokesh"的节点

MATCH (p:Employee {id:123,name:“Lokesh”}) RETURN p

#查询Employee标签下name="Lokesh"的节点,使用(where命令)

MATCH (p:Employee) WHERE p.name = “Lokesh” RETURN p

3、REUTRN&&MATCH

RETURN子句用于 -

  • 检索节点的某些属性

  • 检索节点的所有属性

  • 检索节点和关联关系的某些属性

  • 检索节点和关联关系的所有属性

  • RETURN 
       <node-name>.<property1-name>,
       ........
       <node-name>.<propertyn-name>
    

    语法说明:

    语法元素描述
    它是我们将要创建的节点名称。
    属性是键值对。 定义要分配给创建节点的属性的名称

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kRbD2S95-1670683237315)(png/image-20210326145250225.png)]

4、CREATE&&MATCH&&RETURN

例:本例演示如何使用属性和这两个节点之间的关系创建两个节点。

**注-**我们将创建两个节点:客户节点 (Customer) 和信用卡节点 (CreditCard)。

  • 客户节点包含:ID,姓名,出生日期属性
  • CreditCard节点包含:id,number,cvv,expiredate属性
  • 客户与信用卡关系:DO_SHOPPING_WITH
  • CreditCard到客户关系:ASSOCIATED_WITH
  • 以下步骤中处理此示例:
    • 创建客户节点
    • 创建CreditCard节点
    • 观察先前创建的两个节点:Customer和CreditCard
    • 创建客户和CreditCard节点之间的关系
    • 查看新创建的关系详细信息
    • 详细查看每个节点和关系属性
创建客户节点
CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
  • e是节点名称
  • 在这里Customer是节点标签名称
  • id,name和dob是Customer节点的属性名称
创建CreditCard节点
CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})

这里c是一个节点名

这里CreditCard是节点标签名称

id,number,cvv和expiredate是CreditCard节点的属性名称

关系基础

根据属性图模型,关系应该是定向的。 否则,Neo4j将抛出一个错误消息。

基于方向性,Neo4j关系被分为两种类型。

  • 单向关系
  • 双向关系

在以下场景中,我们可以使用Neo4j CQL CREATE命令来创建两个节点之间的关系。 这些情况适用于Uni和双向关系。

  • 在两个现有节点之间创建无属性的关系
  • 在两个现有节点之间创建有属性的关系
  • 在两个新节点之间创建无属性的关系
  • 在两个新节点之间创建有属性的关系
  • 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值