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. float I用于表示32位浮点数。
7. double 用于表示64位浮点数。
8. char 用于表示16位字符。
9. String 用于表示字符串。
Create命令:

1、创建无属性节点

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

02-Neo4j-CQL_第1张图片

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

CREATE (dept:Dept)

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

2、创建有属性节点

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

CREATE (
   :
   { 	
      :
      ........
      :
   }
)

语法说明:

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

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

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

02-Neo4j-CQL_第2张图片

2、MATCH

MATCH 命令用于

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

MATCH 命令语法:

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

match需要结合return一起使用

02-Neo4j-CQL_第3张图片

# 查询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 
       .,
       ........
       .
    

    语法说明:

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

02-Neo4j-CQL_第4张图片

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子句的两个退出节点之间创建/不使用属性的关系

你可能感兴趣的:(数据库,数据库)