Categories: neo4j 教程

Neo4j CQL – 合并

Neo4j使用CQL MERGE命令 – 

  • 创建节点,关系和属性

  • 为从数据库检索数据

MERGE命令是CREATE命令和MATCH命令的组合。

MERGE = CREATE + MATCH

Neo4j CQL MERGE命令在图中搜索给定模式,如果存在,则返回结果

如果它不存在于图中,则它创建新的节点/关系并返回结果。

Neo4j CQL MERGE语法

MERGE (<node-name>:<label-name>
{
   <Property1-name>:<Property1-Value>
   .....
   <Propertyn-name>:<Propertyn-Value>
})

语法说明:

S.No. 语法元素 描述
1 MERGE 它是一个Neo4j CQL关键字。
2 <node-name> 它是节点或关系的名称。
3 <label-name> 它是节点或关系的标签名称。
4 <property_name> 它是节点或关系的属性名称。
5 <property_value> 它是节点或关系的属性值。
6 使用colon(:)运算符来分隔节点或关系的属性名称和值。


注意 –

Neo4j CQL MERGE命令语法与CQL CREATE命令类似。

我们将使用这两个命令执行以下操作 – 

  • 创建具有一个属性的配置文件节点:Id,名称

  • 创建具有相同属性的同一个Profile节点:Id,Name

  • 检索所有Profile节点详细信息并观察结果

我们将使用CREATE命令执行这些操作

Neo4j CQL CREATE示例

此示例通过使用CREATE,MATCH和RETURN命令创建Google+个人资料,执行上述所有操作。

操作(1):创建具有属性:Id,Name的Profile节点

步骤1 -打开Neo4j数据浏览器



步骤2 -在数据浏览器上键入以下命令

CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})



步骤3 -点击“执行”按钮并观察结果。

如果我们观察到成功消息,它已经向GoogleProfile1节点添加了两个属性。

操作(2):创建具有相同属性的同一个Profile节点:Id,Name。

步骤1 -打开Neo4j的数据浏览器

步骤2 -输入在数据浏览器下面的命令

CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})


步骤3 -点击“执行”按钮并观察结果。

如果我们观察到成功消息,它已经向GoogleProfile1节点添加了两个属性。

操作(3):检索所有Profile节点详细信息并观察结果。

步骤1 -打开Neo4j数据浏览器

步骤2 -在数据浏览器上键入以下命令

MATCH  (gp1:GoogleProfile1) 
RETURN gp1.Id,gp1.Name



步骤3 -点击“执行”按钮并观察结果。

如果我们观察到上面的查询结果,它显示2行重复的值。

CQL CREATE命令检查此节点是否可用,它只是在数据库中创建新节点。

通过观察这些结果,我们可以说CREATE命令总是向数据库添加新的节点。

Neo4j CQL MERGE示例

此示例通过使用MERGE和RETURN命令创建Google+个人资料,执行相同的上述操作。

操作(1):创建具有属性:Id,Name的Profile节点

步骤1 -打开Neo4j数据浏览器

步骤2 -在数据浏览器上键入以下命令

MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})



步骤3 -点击“执行”按钮并观察结果。

如果我们观察到成功消息,它已经向GoogleProfile1节点添加了两个属性。

操作(2):创建具有相同属性的同一个Profile节点:Id,Name。

步骤1 -打开Neo4j数据浏览器

步骤2 -在数据浏览器上键入以下命令

MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})



步骤3 -点击“执行”按钮并观察结果。

如果我们观察到成功消息,它已经向GoogleProfile1节点添加了两个属性。

操作(3):检索所有Profile节点详细信息并观察结果

步骤1 -打开Neo4j数据浏览器

步骤2 -在数据浏览器上键入以下命令

MATCH  (gp2:GoogleProfile2) 
RETURN gp2.Id,gp2.Name



步骤3 -点击“执行”按钮并观察结果。

如果我们观察上面的查询结果,它只显示一行,因为CQL MERGE命令检查该节点在数据库中是否可用。 如果它不存在,它创建新节点。 否则,它不创建新的。

通过观察这些结果,我们可以说,CQL MERGE命令将新的节点添加到数据库,只有当它不存在。


唐伯虎点蚊香

前端小白,想各位学习!

Share
Published by
唐伯虎点蚊香

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

4 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago