Neo4j CQL - 合并
Neo4j的CQL MERGE使用命令 -
要创建节点,关系和属性
为了从数据库中检索数据
MERGE命令创建命令和MATCH命令的组合。
MERGE = CREATE + MATCH
Neo4j的CQL MERGE图中的给定模式命令搜索,如果存在则返回结果
如果它不在图中存在,则它创建新的节点/关系并返回结果。
Neo4j的CQL MERGE语法
MERGE (<node-name>:<label-name> { <Property1-name>:<Pro<rty1-Value> ..... <Propertyn-name>:<Propertyn-Value> })
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1。 | 合并 | 这是一个Neo4j的CQL关键字。 |
2。 | <节点名称> | 它是一个节点或关系的名称。 |
3。 | <标签名称> | 这是一个节点或关系的标签名称。 |
4。 | <PROPERTY_NAME> | 这是一个节点或关系的属性名。 |
5。 | <PROPERTY_VALUE> | 这是一个节点或关系的属性值。 |
6。 | : | 使用冒号(:)操作符来分隔属性名称和一个节点或关系的价值。 |
注意 -
Neo4j的CQL MERGE命令语法类似于CQL Create命令。
我们将通过这两个命令来执行以下操作 -
有一个属性创建一个配置文件节点:ID,名称
创建具有相同的属性相同的配置节点:ID,名称
检索所有配置文件节点详细信息和观察结果
我们将使用CREATE命令来执行这些操作
Neo4j的CQL创建示例
这个例子用CREATE执行上述所有操作,MATCH和RETURN命令来创建Google+个人资料。
操作(1):创建属性配置文件节点:ID,名称
第1步 -打开Neo4j的数据浏览器
第2步 -输入在数据浏览器下面的命令
CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})
第3步 -点击“执行”按钮并观察结果。
如果我们观察到成功的消息,它已经增加了两个属性GoogleProfile1节点。
操作(2):创建具有相同属性相同的配置节点:编号,名称。
第1步 -打开Neo4j的数据浏览器
第2步 -输入在数据浏览器下面的命令
CREATE (gp1:GoogleProfile1 {Id: 201401, Name:"Apple"})
第3步 -点击“执行”按钮并观察结果。
如果我们观察到成功的消息,它已经增加了两个属性GoogleProfile1节点。
操作(3):获取所有个人资料节点详细信息和观察结果。
第1步 -打开Neo4j的数据浏览器
第2步 -输入在数据浏览器下面的命令
MATCH (gp1:GoogleProfile1) RETURN gp1.Id,gp1.Name
第3步 -点击“执行”按钮并观察结果。
如果我们观察上面的查询结果,它显示2行有重复的值。
CQL CREATE命令不检查是否该节点可用与否,它只是在数据库中创建新的节点。
通过观察这些结果,我们可以说,CREATE命令总是将新节点添加到数据库。
Neo4j的CQL合并示例
这个例子用MERGE执行同一套以上操作,并返回命令创建Google+个人资料。
操作(1):创建属性配置文件节点:ID,名称
第1步 -打开Neo4j的数据浏览器
第2步 -输入在数据浏览器下面的命令
MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})
第3步 -点击“执行”按钮并观察结果。
如果我们观察到成功的消息,它已经增加了两个属性GoogleProfile1节点。
操作(2):创建具有相同属性相同的配置节点:编号,名称。
第1步 -打开Neo4j的数据浏览器
第2步 -输入在数据浏览器下面的命令
MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})
第3步 -点击“执行”按钮并观察结果。
如果我们观察到成功的消息,它已经增加了两个属性GoogleProfile1节点。
操作(3):获取所有个人资料节点详细信息和观察结果
第1步 -打开Neo4j的数据浏览器
第2步 -输入在数据浏览器下面的命令
MATCH (gp1:GoogleProfile1) RETURN gp1.Id,gp1.Name
第3步 -点击“执行”按钮并观察结果。
如果我们观察上面的查询结果,它显示只有一排,因为CQL MERGE命令检查这个节点是否在数据库或不可用。 如果它不存在,它会创建新的节点。 否则,它不创建新的。
通过观察这些结果,我们可以说,CQL MERGE命令添加新节点数据库只有当它不存在。