Neo4j-入门

Neo4j-CQL简介

CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。

Neo4j CQL -

  • 它是Neo4j图形数据库的查询语言。

  • 它是一种声明性模式匹配语言

  • 它遵循SQL语法。

  • 它的语法是非常简单且人性化、可读的格式。

增删改查

1. create-增

命令语法

CREATE (:)

语法说明

语法元素 描述
CREATE 它是一个Neo4j CQL命令。
node-name 它是我们要创建的节点名称。
label-name 它是一个节点标签名称

注意事项 -
1、Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
2、Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。

例子:

create (s:苏轼)

点击运行
Neo4j-入门_第1张图片
运行成功
它显示在 Neo4j 数据库中创建一个标签和一个节点。 它在数据库中创建一个带有标签名“苏轼”的节点“s”。

Neo4j CQL创建具有属性的节点
Neo4j CQL“CREATE”命令用于创建带有属性的节点。 它创建一个具有一些属性(键值对)的节点来存储数据。

命令语法:

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

语法说明:

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

例子

CREATE (s:苏轼 { name:"苏轼",时期:"宋朝" })

在这里插入图片描述
创建完成后,我们找到创建的标签
Neo4j-入门_第2张图片

点击一下,左下方会显示其属性
Neo4j-入门_第3张图片

2. match-查

Neo4j CQL MATCH命令用于 -

  • 从数据库获取有关节点和属性的数据
  • 从数据库获取有关节点,关系和属性的数据
    命令语法:
MATCH 
(
   :
)

语法说明

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

注意事项 -
Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。

注意-我们不能单独使用MATCH Command从数据库检索数据。 如果我们单独使用它,那么我们将InvalidSyntax错误。
比如
Neo4j-入门_第4张图片
我们需要配合return使用
RETURN命令语法:

RETURN 
   .,
   ...
   .

语法说明:

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

Neo4j-入门_第5张图片

3. create-关系属性

根据属性图模型,关系应该是定向的。 否则,Neo4j将抛出一个错误消息。

基于方向性,Neo4j关系被分为两种主要类型。

  • 单向关系
  • 双向关系

在以下场景中,我们可以使用Neo4j CQL CREATE命令来创建两个节点之间的关系。 这些情况适用于Uni和双向关系。

  • 在两个现有节点之间创建无属性的关系
  • 在两个现有节点之间创建与属性的关系
  • 在两个新节点之间创建无属性的关系
  • 在两个新节点之间创建与属性的关系
  • 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系

我们以没有属性的关系与现有节点为例
我们再创建一个节点
Neo4j-入门_第6张图片
现在我们把现有的两个节点连接起来
语法:

MATCH (:),(:)
CREATE  
	()-[:]->()
RETURN 

语法说明:

S.No. 语法元素 描述
1. MATCH,CREATE,RETURN 他们是Neo4J CQL关键字。
2. 它用于创建关系的“From Node”的名称。
3. 它用于创建关系的“From Node”的标签名称。
4. 它用于创建关系的“To Node”的名称。
5. 它用于创建关系的“To Node”的标签名称。
6. 这是一个关系的名称。
7. 它是一个关系的标签名称。

注意:
在此语法中,RETURN子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。
在这里插入图片描述
创建完成后,可以在左侧关系中查找
Neo4j-入门_第7张图片

4. delete-删

Neo4j使用CQL DELETE子句

  • 删除节点。
  • 删除节点及相关节点和关系。

DELETE节点子句语法

DELETE 
S.No. 语法元素 描述
1. DELETE 它是一个Neo4j CQL关键字。
2. 它是一个要从数据库中删除的节点名称列表。

注意 -
我们应该使用逗号(,)运算符来分隔节点名。

创建一个新的节点

create (a:苏辙)

在这里插入图片描述
Neo4j-入门_第8张图片
再次查询发现已经没有了

删除带关系的节点
如果我们直接删除带关系的节点会报错,比如我们删除之前的苏轼节点
Neo4j-入门_第9张图片

DELETE节点和关系子句语法

DELETE ,,
S.No. 语法元素 描述
1. DELETE 它是一个Neo4j CQL关键字。
2. 它是用于创建关系的一个结束节点名称。
3. 它是用于创建关系的另一个节点名称。
4. 它是一个关系名称,它在和之间创建。

注意 -

我们应该使用逗号(,)运算符来分隔节点名称和关系名称。

我们先查看下关系
Neo4j-入门_第10张图片
下面我们就可以直接删除了

MATCH (s: 苏轼)-[r:师徒]-(o:欧阳修) delete s,r,o

5. set-改

有时,根据我们的客户端要求,我们需要向现有节点或关系添加新属性。

要做到这一点,Neo4j CQL 提供了一个SET子句。

Neo4j CQL 已提供 SET 子句来执行以下操作。

  • 向现有节点或关系添加新属性
  • 添加或更新属性值

SET子句语法

SET  
S.No. 语法元素 描述
1 SET 它是一个 Neo4j 的 CQL 关键字。
2 它是一个属性列表,用于执行添加或更新操作以满足我们的要求。

<属性名称列表>语法:

.,
., 
.... 
. 

语法说明:

S.No. 语法元素 描述
1 <节点标签名称> 这是一个节点的标签名称。
2 <属性名称> 它是一个节点的属性名。

注意 -
我们应该使用逗号(,)运算符来分隔属性名列表。

先创建一个属性

create(s:苏轼 { name:"苏轼",身份:"文学家" })

Neo4j-入门_第11张图片
下面进行增加

match(s:苏轼)
set s.时期="宋朝"
return s

Neo4j-入门_第12张图片

修改:

match(s:苏轼)
set s.身份="词人"
return s

Neo4j-入门_第13张图片

你可能感兴趣的:(知识图谱,neo4j)