02-Neo4j-CQL

news2024/10/7 6:49:17

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

具有成本效益的深度信任网络的智能LEACH的多级动态优化(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 能量利用率是能量受限无线传感器网络&#xff08;WSN&#xff09;的关键属性&#xff0c;它直接影响网络的寿命。LEACH&#x…

C++入门篇之 注释语法什么写

&#x1f4d2;博客主页&#xff1a; ​​开心档博客主页​​ &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐留言&#x1f4dd; &#x1f4cc;本文由开心档原创&#xff01; &#x1f4c6;51CTO首发时间&#xff1a;&#x1f334;2022年12月12日&#x1f334; ✉…

python+requests接口自动化测试框架实例详解教程

前段时间由于公司测试方向的转型&#xff0c;由原来的web页面功能测试转变成接口测试&#xff0c;之前大多都是手工进行&#xff0c;利用postman和jmeter进行的接口测试&#xff0c;后来&#xff0c;组内有人讲原先web自动化的测试框架移驾成接口的自动化框架&#xff0c;使用的…

windows下Qt 5的安装与编译打包

环境与版本 操作系统&#xff1a;windows 10 Qt版本&#xff1a;5.14.2&#xff0c;最后一个有独立安装包的版本&#xff0c;下载地址&#xff1a;archive/qt/5.14/5.14.2 IDE&#xff1a;自带的qt-creator 4.11.1&#xff0c;也可以自行下载其他版本4.14.2&#xff0c;下载…

Mybatis实现增删改查

准备工作&#xff1a;建立项目&#xff0c;连接数据库MySQL&#xff0c;安装Mybatix插件 数据库代码准备&#xff1a; -- 删除tb_brand表 drop table if exists tb_brand; -- 创建tb_brand表 create table tb_brand (-- id 主键id int primary key auto_increment,…

itop3568开发板旋转uboot logo和内核logo

修改设备树 rk_android11.0_sdk/kernel/arch/arm64/boot/dts/rockchip/topeet_rk3568_lcds.dtsi 文件。如果配套的屏幕是 LVDS 7 寸屏幕或者 LVDS10.1 寸 1024*600 屏幕或者 LVDS10.1 寸 1280*800 屏幕&#xff0c;修改如下所示。 &route_lvds{ status "okay"; …

使用Postman+JMeter进行简单的接口测试

以前每次学习接口测试都是百度&#xff0c;查看相关人员的实战经验&#xff0c;没有结合自己公司项目接口真正具体情况。 这里简单分享一下公司项目Web平台的一个查询接口&#xff0c;我会使用2种工具Postman和JMeter如何对同一个接口做调试。 准备工作 首先&#xff0c;登录公…

GATK Germline_SNP_INDEL_2.0 分析遗传病(耳聋)

GATK Germline_SNP_INDEL_2.0 分析遗传病&#xff08;耳聋&#xff09; 一、本文是Gatk Germline spns-indels Pipeline 分析遗传病(耳聋)的升级版&#xff0c;目的是提供开箱即用的分析流程&#xff0c;尽可能简化部署和迁移。 更新内容如下&#xff1a; 人类参考基因组以及…

RTSP 媒体协议流的录制方案及其覆盖策略详解

前言 在安防和监控领域&#xff0c;RTSP 媒体协议流有很广泛的使用。本文将介绍一种针对 RTSP 媒体流的录制方案及其相应的覆盖策略。据我所知&#xff0c;声网的实时录制功能支持三种模式&#xff0c;分别是云端录制、本地服务端录制和页面录制&#xff0c;今天我们介绍的录制…

[基因遗传算法]进阶之六:VRP的进阶经典问题的解码如何写

文章目录一、CVRP二、MDCVRP2.1 解的编码分析2.2 代码2.3 分割展示三、VRPTW四、MDVRPTW4. 1 解的编码分析4.2 解的代码4.3 结果展示4. 4 MDVRPTW的计算适应度4.5 MDVRPTWd的结果展示图一、CVRP 见博文《[基因遗传算法]进阶之三:实践CVRP》 二、MDCVRP 参考资料:《Python实现…

Qt的场景图Scene Graph

叫场景树更合适&#xff0c;本质不是图。QML场景中的Qt Quick项目将填充QSGNode实例树。 场景图是Qt Quick 2.0引入的&#xff0c;建立在要绘制的内容是已知的基础上。所有QML项目均使用场景图进行渲染&#xff0c;场景图的默认实现是与OpenGL紧密相关的低级高性能渲染堆栈。 …

谈谈前端性能优化-面试版

前言 当我们去面试的时候&#xff0c;很大概率会被面试官问这么一个问题&#xff1a;你有尝试过对项目做性能优化吗&#xff1f;或者你了解哪些性能优化的方法&#xff1f;听到这个问题的你可能是这样的&#xff1a; 似曾相识但又说不清楚&#xff0c;往往只能零散地说出那么几…

Go string原理简析

引入 当查看string类型的变量所占的空间大小时&#xff0c;会发现是16字节&#xff08;64位机器&#xff09;。 str : "hello"fmt.Println(unsafe.Sizeof(str)) // 16也许你会好奇&#xff0c;为什么是16字节&#xff0c;它的底层存储模型是什么样子的。 源码分析 …

焦脱镁叶绿酸-a修饰量子点/荧光/药物/小分子抑制剂/上转换纳米颗粒/树枝状聚合物

小编在这里为大家分享的科研内容是焦脱镁叶绿酸-a修饰量子点/荧光/药物/小分子抑制剂/上转换纳米颗粒/树枝状聚合物的相关研究&#xff0c;来看&#xff01; 焦脱镁叶绿酸-a简介&#xff1a; 焦脱镁叶绿素-a是产物叶绿素a通过脱甲氧羰基、去植物醇、去Mg后的产物。该类物质具有…

day19【代码随想录】删除字符串中的所有相邻重复项、逆波兰表达式求值、滑动窗口最大值、前 K 个高频元素、数组中的第K个最大元素

文章目录前言一、删除字符串中的所有相邻重复项&#xff08;力扣047&#xff09;二、逆波兰表达式求值&#xff08;力扣150&#xff09;三、滑动窗口最大值&#xff08;力扣239&#xff09;四、前 K 个高频元素&#xff08;力扣347&#xff09;五、数组中的第K个最大元素&#…

MyBatis系列---crud返回值

目录1. service与mapper2. 更新操作3. 查询操作3.1. 返回值存储3.2. 简单映射3.3. ResultSet 的预处理3.4. 确定 ResultMap3.5. 创建映射结果对象3.6. 自动映射3.7. 存储对象3.8. 返回结果为单行数据3.9. 返回结果为多行数据3.10. 结论1. service与mapper mybatis一般与spring…

深度活体模型带交互模型版

🍿*★,*:.☆欢迎您/$:*.★* 🍿

点击Tab标签切换不同查询数据,并选择数据存入缓存实现两个界面带参数跳转

项目场景&#xff1a; 在不同的tab标签页中点击不同的标签页查找不同的内容,然后选中其中一个页面中的一条数据将此数据某个信息选中然后存入session缓存当中然后另一个界面从session中取出,从而达到带参数跳转界面的需求 问题描述 可以做到跳转界面但是数据会显示到地址栏当…

做开发4年了,年薪还不如2年经验的测试。我该适应当下节奏吗...

代码码了这么些年&#xff0c;你年薪达到多少了&#xff1f; 我&#xff0c;4年码龄&#xff0c;薪资最高的时候16k*12薪&#xff0c;年薪不到20W。都说IT行业薪资高&#xff0c;但年薪百万的还是金字塔尖极少数&#xff0c;像我这样的才是普通的大多数&#xff0c;却也还要用…

电脑维护与故障处理

第一章 认识电脑的组成 1.1 硬件组成 1.1.1 CPU 1.1.2 主板 1.1.3 内存 1.1.4 硬盘 1.1.5 电源 1.1.6 显示器 1.1.7 键盘和鼠标 1.1.8 光驱 1.1.9 显卡 1.1.10 其他外部设备 1.2 软件组成 1.2.1 操作系统 Windows XP Windows 7 服务器操作系统 —— Windows Ser…