Neo4j - CQL(Cypher)基本操作(一)

#

Neo4j 标签属性图模型
• Nodes – 节点。在其他图模型中称作“点”、“顶点”、“对象”。
• Relationships – 关系。在其他图模型中也称作“边”、“弧”、“线”。关系拥有类型。
• Properties – 属性,可以定义在节点和关系上。
• Labels – 标签,代表节点的类别。
这里写图片描述
这里写图片描述

CQL基本简介

Neo4j使用Cypher查询图形数据,Cypher是描述性的图形查询语言,语法简单,功能强大,由于Neo4j在图形数据库家族中处于绝对领先的地位,拥有众多的用户基数,使得Cypher成为图形查询语言的事实上的标准
CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。

Cypher语言的关键字不区分大小写,但是属性值,标签,关系类型和变量是区分大小写的
这里写图片描述

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 用于表示字符串。

常用CQL命令与函数

通过常用命令实现图数据的增删改查

S.No. CQL命令/条 用法
1。 CREATE
创建
创建节点,关系和属性
2。 MATCH
匹配
检索有关节点,关系和属性数据
3。 RETURN
返回
返回查询结果
4。 WHERE
哪里
提供条件过滤检索数据
5。 DELETE
删除
删除节点和关系
6。 REMOVE
移除
删除节点和关系的属性
7。

ORDER BY

以…排序

排序检索数据
8。 SET
添加或更新标签

常用函数

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

图数据的形式

这里写图片描述

这里写图片描述
这里写图片描述

扫描二维码关注公众号,回复: 2751146 查看本文章

基本语法

节点

节点必须包含在括号 () 内

(n:Label1:Label2)

• 标签名前必须有冒号
• 节点可以有多个标签
• 标签对节点进行分类,似关系数据库中的表 标签对节点进行分类,类似关系数据库中的表

(n)

节点可以没有或者不指定标签

(n:Label {prop: 'value'})

节点可以有属性

关系

关系两端各有一个短横线 /减号,用方括包含关系类型 ,关系类型名前面必须有冒号 (:) 。在其中一端用 >或 < 代表关系的方向,也可以没有方向

  - -  ,<- -,- ->
  -[:DIRECTED]- ->

关系以短划线\减号和方括号包含
与标签一样关系类型前必须要有“:”

- ->或 -[r:TYPE] ->

关系在创建时必须指定方向
关系在查询时可以不指定方向表示双向关系

< >指定关系的方 向

关系也可以有属性

-[:KNOWS {since: 2010}]

模式

模式是由关系连接起来的节点构成的表达式,关系可以是有方向的,也可以没有方向,双向的

() -[] -()
() -[] ->()
()< -[] -()

模式的例子

(n:Label {prop:'value'})-[:TYPE]- >(m:Label)
  • 最基本的模式:由一类关系连接两个节点 最基本的模式:
  • 由一类关系连接两个节点
(p1:Person {name:'Alice'}) -[:KNOWS][->(p2:Person {name:'Bob'})

如果存在从Alice到Bob的、类型为KNOWS的关系,那么上面模式会将匹配的节点保存在 p1 和p2中。

Cypher查询的组成部分

eg1.
这里写图片描述
eg 2.
这里写图片描述
eg 3.
这里写图片描述

图查询的结果 vs表状数据结果

eg 4.
这里写图片描述

这里写图片描述

命名规范

这里写图片描述

参考文献:Neo4j Inc. APAC 2018年 俞方桦

猜你喜欢

转载自blog.csdn.net/HHTNAN/article/details/81630518
今日推荐