MATCH path=(start:Node)-[:RELATIONSHIP*]->(end:Node)RETURN path[2..5] 报错
时间: 2024-03-10 15:45:42 浏览: 35
抱歉,我之前的回答有误。在Cypher中,似乎不能使用`[range]`来选择长路径的子路径。我建议您使用下面的方法来选择路径中的部分节点和关系:
```
MATCH path=(start:Node)-[:RELATIONSHIP*]->(end:Node)
RETURN nodes(path)[2..5], relationships(path)[1..4]
```
在这个查询中,`nodes(path)`函数返回路径中的所有节点,然后`[2..5]`语法选择第2到第5个节点。`relationships(path)`函数返回路径中的所有关系,然后`[1..4]`语法选择第1到第4个关系。
请注意,这个查询假设路径中至少有6个节点和5个关系。如果路径较短,您需要根据实际情况调整范围。
相关问题
MATCH path=(start:Node)-[:RELATIONSHIP*]->(end:Node)RETURN nodes(path)[2..5], relationships(path)[1..4] 报错
很抱歉,我的回答仍然有误。在Cypher中,`[range]`语法只适用于列表和字符串类型。因此,我们需要使用`extract()`函数来提取路径中的子路径。
以下是一个示例查询,演示如何提取长路径中的部分路径:
```
MATCH path=(start:Node)-[:RELATIONSHIP*]->(end:Node)
WITH extract(n in nodes(path)[2..5] | id(n)) as nodes, extract(r in relationships(path)[1..4] | id(r)) as rels
RETURN nodes, rels
```
在这个查询中,`nodes(path)[2..5]`和`relationships(path)[1..4]`语法选择第2到第5个节点和第1到第4个关系。然后,`extract()`函数将每个节点和关系转换为其ID,并将其存储在一个列表中。最后,我们将节点和关系列表返回给客户端。
请注意,这个查询假设路径中至少有6个节点和5个关系。如果路径较短,您需要根据实际情况调整范围。
MATCH path = (n)-[*6]-(A) WHERE id(A) = A_ID WITH nodes(path) AS nodes UNWIND nodes AS p OPTIONAL MATCH (p)-[:REL_R1]->(x) RETURN p, x.age 优化这段代码,将[*6]的关系限制为R1,R2,R3,R4内
好的,根据您的要求,我为您优化了代码。优化后的代码如下:
```
MATCH path = (n)-[:REL_R1|REL_R2|REL_R3|REL_R4*6]-(A)
WHERE id(A) = A_ID
WITH nodes(path) AS nodes
UNWIND nodes AS p
OPTIONAL MATCH (p)-[:REL_R1]->(x)
RETURN p, x.age
```
在原来的代码的基础上,我们将[*6]替换为了[:REL_R1|REL_R2|REL_R3|REL_R4*6],这样就只会匹配R1、R2、R3、R4这四种关系类型的路径,而不是所有长度为6的路径。这样可以提高代码的效率和准确性。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)