您的位置:58脚本 > neo4j如何合并关系 Neo4j CQL - 合并

neo4j如何合并关系 Neo4j CQL - 合并

2023-04-10 03:32 neo4j教程

neo4j如何合并关系 Neo4j CQL - 合并

neo4j如何合并关系 Neo4j CQL - 合并

neo4j如何合并关系

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.语法元素描述
1MERGE它是一个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数据浏览器


打开Neo4j数据浏览器


步骤2 -在数据浏览器上键入以下命令
CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})


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


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


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


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


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

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


Neo4j CQL MERGE示例

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

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

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


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

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


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


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


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


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


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


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

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


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


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


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


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

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


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

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


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


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


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

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


阅读全文
以上是58脚本为你收集整理的neo4j如何合并关系 Neo4j CQL - 合并全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  MS Access通配符

    MS Access通配符

    通配符是可以在文本值中代表未知字符的特殊字符,可用于查找具有相似但不相同数据的多个项目。通配符还可以帮助在指定的模式匹配...

  •  SQLite SQL注入

    SQLite SQL注入

    如果您的站点允许用户通过网页输入,并将输入内容插入到 SQLite 数据库中,这个时候您就面临着一个被称为 SQL 注入的安全问题。...

  •  SQLite PRAGMA

    SQLite PRAGMA

    SQLite 的 PRAGMA 命令是一个特殊的命令,可以用在 SQLite 环境内控制各种环境变量和状态标志。一个 PRAGMA 值可以被读取,也可...

  • mariadb 函数 MariaDB 空值

    mariadb 函数 MariaDB 空值

    使用NULL值时,请记住它们是未知值。 它们不是空字符串或零,它们是有效值。 在表创建中,列规范允许将它们设置为接受空值,或拒...

  • mysql临时表会占用运行内存吗? MariaDB 临时表

    mysql临时表会占用运行内存吗? MariaDB 临时表

    由于速度或一次性数据,一些操作可能受益于临时表。 临时表的生命期在会话终止时结束,无论是从命令提示符,PHP脚本还是通过客户...

  • mariadb删除数据库操作 MariaDB 删除数据库

    mariadb删除数据库操作 MariaDB 删除数据库

    在MariaDB中创建或删除数据库需要特权,通常仅授予root用户或管理员。 在这些帐户下,您有两个删除数据库的选项:mysqladmin二进...

  •  PostgreSQL tsm_system_rows

    PostgreSQL tsm_system_rows

    F.41.1. 示例 tsm_system_rows模块提供了表采样方法 SYSTEM_ROWS,它可以用在SELECT命令的TABLESAMPLE子句中。这种表采样方...

  •  PostgreSQL vacuumlo

    PostgreSQL vacuumlo

    vacuumlo — 从PostgreSQL数据库中移除孤立的大对象大纲vacuumlo [option...] dbname...描述 vacuumlo是一个从PostgreSQL数据库...

  •  PostgreSQL 限制

    PostgreSQL 限制

    表K.1描述了PostgreSQL的各种硬性限制。 但是,在达到绝对硬限制之前,可能会先受到现实的限制,例如性能限制或可用磁盘空间。表...

  • oraclefetch的用法 Oracle Fetch子句

    oraclefetch的用法 Oracle Fetch子句

    FETCH 子句在 Oracle 中可以用来限制查询返回的行数,本教程将教大家如何使用 FETCH 子句。OracleFETCH 子句语法以下说明了行限...

© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS