Neo4j之CQL基础

Neo4j之CQL基础

文章目录

  • Neo4j之CQL基础
    • 一、CQL概念
    • 二、CQL简介
    • 三、CQL命令使用
      • create
      • match+return
      • where
      • delete
      • remove
      • set
      • order by
      • merge
    • 四、CQL函数使用
      • String
      • Aggregation
      • Relationship

一、CQL概念

关系型数据库的查询语言是SQL,Neo4j 图数据库也有自己的查询语言,那就是CQL。

CQL全称Cypher Query Language,它是一种声明性的模式匹配语言,跟SQL非常类似,也遵循SQL的语法。

CQL的语句书写起来都非常简单,而且很人性化,可读性强。

二、CQL简介

如果熟悉SQL,那么CQL的语法很容易就学会了。 下面通过表格列出 CQL 中常用的一些命令和函数。

第一个是CQL常用命令

命令/释义 用途
create/创建 创建节点、关系或属性
match/匹配 获取有关节点、关系或属性的数据
return/返回 返回最终需要的查询结果
where/条件 根据条件过滤数据
delete/删除 删除节点、关系
remove/移除 删除节点和关系的属性、标签
order by/排序 对最终结果进行排序
set/组 添加或者更新标签、属性

第二个是CQL常用函数

函数/释义 用途
Aggregation/聚合 对查询结果执行一些聚合操作
Relationship/关系 获取关系的细节,如startnode,endnode等
String/字符串 使用字符串的功能,例如截取子串、替换等

三、CQL命令使用

create

create命令可以用于创建节点,有两种语法,分别对应创建无属性的节点和有属性的节点。

//无属性
create (:)

//有属性
create (
   :
   { 	
      :
      ........
      :
   }
)

node-name是要创建的节点的具体名称,label-name是节点所属的标签的名称。即,一个标签要管理一组节点。
property-name和property-value是键值对,定义该节点的一个属性,即该属性的名称和值。

这里有个重要的点,那就是使用create命令一定会创建节点。当创建节点时,节点内部都会自带一个ID属性,该ID的值由系统内部给一个数字,然后自动递增。所以,就算定义两个节点的属性值全部相同,但是其内部ID值一定不同,系统会将他们视为两个独立节点。

示例如下:

//在数据库中创建了两个节点zhangsan和lisi,他们都属于标签Student。
create (zhangsan:Student)
create (lisi:Student)

//创建了一个节点xiaoming,也属于标签Student,有三个属性:id、name。dept
create (
    xiaoming:Student
    {
    	id: 001,
    	age:20,
    	dept:"CS"
    }
)

create也可以创建一个节点对应多个标签,语法为:

create (::.....:

你可能感兴趣的:(图数据库,知识图谱,大数据,人工智能)