在Neo4j中,Cypher是一种用于查询图形数据库的语言。要在Cypher路径查询中设置条件,您可以使用WHERE
子句来添加过滤条件。以下是一个简单的示例,说明如何在路径查询中设置条件:
假设我们有以下图形数据库结构:
(A)-[:R1]->(B)-[:R2]->(C)
(B)-[:R3]->(D)
(C)-[:R4]->(E)
我们想要查询所有从A到E的路径,但只关心那些包含关系类型为R2
或R4
的路径。我们可以使用以下Cypher查询来实现这一目标:
MATCH (a)-[r:R1*]->(e)
WHERE (type(r) = "R2" OR type(r) = "R4")
RETURN a, e, r
在这个查询中,我们使用MATCH
子句来查找从A到E的所有路径。*
表示任意数量的R1
关系。然后,我们使用WHERE
子句来过滤出那些关系类型为R2
或R4
的路径。最后,我们返回路径中的节点和关系。