cypher中match和merge的区别
时间: 2024-05-04 07:21:25 浏览: 9
在Cypher中,MATCH和MERGE都是查询语句中用于查找和操作节点和关系的关键字,但它们之间有一些区别。
MATCH用于查找现有的节点和/或关系。如果查询中指定的节点和/或关系不存在,则查询不会创建它们。MATCH语句的语法如下:
```
MATCH (node:Label)-[relationship:REL_TYPE]->(related_node:Label)
WHERE <条件>
RETURN <表达式>
```
MERGE也用于查找节点和/或关系,但是如果查询中指定的节点和/或关系不存在,则会创建它们。如果节点或关系已经存在,则不会重复创建。MERGE语句的语法如下:
```
MERGE (node:Label)-[relationship:REL_TYPE]->(related_node:Label)
ON CREATE SET node.property=value
ON MATCH SET node.property=value
RETURN <表达式>
```
可以看到,MERGE语句与MATCH语句的主要区别在于它具有创建节点和/或关系的能力,并且可以使用ON CREATE和ON MATCH子句指定在创建或匹配时要执行的操作。当节点和/或关系需要创建并且需要设置属性时,MERGE是一个更好的选择。
相关问题
Neo4J的查询语言Cypher
Cypher是Neo4j图数据库的查询语言。它是一种声明性的图查询语言,用于检索和操作存储在Neo4j数据库中的图数据。Cypher具有类似于SQL的语法,但是专门针对图数据库的特性进行了优化。
在Cypher中,你可以使用MATCH语句来指定要匹配的图模式,并使用WHERE子句来添加过滤条件。你还可以使用CREATE、MERGE和DELETE语句来创建、更新和删除图数据。
以下是一些常见的Cypher查询示例:
1. 检索所有节点:
```
MATCH (n)
RETURN n
```
2. 检索特定标签的节点:
```
MATCH (n:Label)
RETURN n
```
3. 检索两个节点之间的关系:
```
MATCH (n1)-[r]->(n2)
RETURN n1, r, n2
```
4. 根据属性值进行过滤:
```
MATCH (n)
WHERE n.property = value
RETURN n
```
5. 创建新节点和关系:
```
CREATE (n1:Label {property: value1})-[:RELATIONSHIP]->(n2:Label {property: value2})
```
这只是Cypher查询语言的一小部分功能,你可以通过查阅官方文档来了解更多详细信息。
cypher语句的语法规则
Cypher语句的语法规则如下:
1. 语句以MATCH、CREATE、MERGE、SET、DELETE、REMOVE、RETURN、WITH、UNWIND、CALL、FOREACH、LOAD CSV等关键字开头。
2. Cypher语句中的变量以一个冒号(:)开头,后面跟着一个标签(Label)。
3. 关系类型(Relationship Type)用一对方括号([])括起来,并在括号中添加关系类型的名称。
4. 属性(Property)以“{”和“}”之间的键值对的形式出现,键和值之间用冒号(:)分隔。
5. 使用WHERE子句指定条件,可以使用比较运算符(=、<>、<、>、<=、>=)、逻辑运算符(AND、OR、NOT)以及IN、STARTS WITH、ENDS WITH、CONTAINS等函数。
6. 使用ORDER BY子句按照指定的属性进行排序,可以使用ASC和DESC关键字。
7. 使用LIMIT和SKIP子句限制返回结果的数量和偏移量。
8. Cypher语句以分号(;)结尾。
例如,以下是一个简单的Cypher查询语句:
```
MATCH (n:Person)-[r:KNOWS]->(m:Person)
WHERE n.name = 'Tom' AND m.age > 25
RETURN n, r, m
ORDER BY m.age DESC
LIMIT 10
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)