1. 文章
  2. 文章详情

Neo4j CQL - MERGE子句

Neo4j使用CQL MERGE命令

  • 创建节点,关系和属性

  • 为从数据库检索数据

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

MERGE = CREATE + MATCH

Neo4j CQL MERGE命令在图中搜索给定模式,如果存在,则返回结果,如果它不存在于图中,则它创建新的节点/关系并返回结果。

 可以确保图数据库中存在某个特定的模式。如果该模式不存在,那就创建它。

 可以指定让某个数据存在,不管是匹配到还是创建

 在整个模式上使用,要么整个匹配,要么整个创建,不能部分匹配

merge 的唯一性约束

当使用的模式涉及唯一性约束时,cypher 可以通过 merge 来防止获取相冲突的结果

  • 唯一性约束与部分匹配      -- merge 将合并失败
  • 唯一性约束与匹配冲突      --merge 将合并失败

Neo4j CQL MERGE语法

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

语法说明:

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

注意 -

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

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

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

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

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

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

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

Neo4j CQL MERGE示例

CQL MERGE命令检查该节点在数据库中是否可用。 如果它不存在,它创建新节点。 否则,它不创建新的。

CQL MERGE命令将新的节点添加到数据库,只有当它不存在。

发表评论

登录后才能评论

评论列表(0条)