Neo4j CQL语法

2023-12-27 15:28
文章标签 语法 neo4j cql

本文主要是介绍Neo4j CQL语法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 0. 简述
  • 1. 创建节点
      • 创建单个节点
      • 创建多个节点
      • 创建带标签的节点
      • 创建具有多个标签的节点(用冒号“:”分隔)
      • 创建具有属性的节点(在“{ }”中指定这些属性,用逗号分隔)
      • 验证:返回数据库中的所有节点
      • 返回创建的节点
  • 2. 创建关系
      • 使用节点创建关系
      • 使用节点和标签创建关系
      • 使用标签和属性创建关系
      • 创建完整路径
      • 3. 合并命令
      • 将节点与标签合并
      • 将节点与属性合并
      • 合并关系

0. 简述

CQL 代表密码查询语言。就像 Oracle 数据库有查询语言 SQL,Neo4j 有 CQL 作为查询语言。

1. 创建节点

创建单个节点

CREATE (node_name);

其中(;)是可选的。

创建多个节点

CREATE (node_name1),(node_name2)

创建带标签的节点

CREATE (node:label)

创建具有多个标签的节点(用冒号“:”分隔)

CREATE (node:label1:label2:...labeln)

创建具有属性的节点(在“{ }”中指定这些属性,用逗号分隔)

CREATE (node:label1{name:"zhangsan", year:1999, country:"China"})

验证:返回数据库中的所有节点

MATCH (n) RETURN n;

返回创建的节点

CREATE (node:label1{name:"zhangsan", year:1999, country:"China"}) RETURN node

2. 创建关系

首先在数据库中创建两个节点Dhawan和Ind,如下:

CREATE (Dhawan:player {name:"Shikar Dhawan", YOB:1985, POB:"Delhi})
CREATE (Ind:Country {name:"India"})

使用节点创建关系

在两节点间建立一个名为 BATSMAN_OF 的关系

CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)

最后,返回两个节点以查看创建的关系

RETURN Dhawan, Ind

使用节点和标签创建关系

MATCH (a:player), (b:Country) WHERE a.name="Shikar Dhawan" AND b.name = "India" CREATE (a)-[r:BATSMAN_OF]->(b) RETURN a,b

使用标签和属性创建关系

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India"
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b) RETURN a,b

创建完整路径

CREATE p = (Node1 {properties})-[:Relationship_Type]-> (Node2 {properties})[:Relationship_Type]->(Node3 {properties}) RETURN p

3. 合并命令

MERGE 命令是 CREATE 命令和 MATCH 命令的组合。
Neo4j CQL MERGE 命令在图中搜索给定模式。如果存在,则返回结果。
如果它在图中不存在,那么它会创建一个新的节点/关系并返回结果。


首先,在数据库中创建两个标签为 Dhawan 和 Ind 的节点。创建从 Dhawan 到 Ind 的类型为“BATSMAN_OF”的关系,如下:
CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
CREATE (Ind:Country {name: "India"}) 
CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind) 

将节点与标签合并

Neo4j 会验证是否存在具有给定标签的任何节点。如果没有,将创建当前节点。

MERGE (Jadeja:player) RETURN Jadeja

将节点与属性合并

MERGE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) RETURN Jadeja 

合并关系

MATCH (a:Country), (b:Tournament) WHERE a.name = "India" AND b.name = "ICC Champions Trophy 2013" MERGE (a)-[r:WINNERS_OF]->(b) 
RETURN a, b

未完待续

这篇关于Neo4j CQL语法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543574

相关文章

mysql递归查询语法WITH RECURSIVE的使用

《mysql递归查询语法WITHRECURSIVE的使用》本文主要介绍了mysql递归查询语法WITHRECURSIVE的使用,WITHRECURSIVE用于执行递归查询,特别适合处理层级结构或递归... 目录基本语法结构:关键部分解析:递归查询的工作流程:示例:员工与经理的层级关系解释:示例:树形结构的数

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板