cypher零长度路径默认匹配规则

时间:2015-03-23 16:00:26

标签: neo4j cypher

默认情况下,这些密码表示法(a)-[*]->(b)(a)-[*..5]->(b)是否包含此模式(a)-[*0]->(b)(意味着a和b是同一个节点)?
我是否需要明确拼写出(a)-[*0..]->(b)(a)-[*0..5]->(b)

这对于边/子路径的可选匹配尤其方便 如果我错过了MATCHPatterns,请参阅参考文档。

1 个答案:

答案 0 :(得分:2)

引用文档:

  

可以使用以下语法找到可变数量的关系→节点跳跃的节点: - [:TYPE * minHops..maxHops] - >。 minHops和maxHops是可选的,默认分别为1和无穷大。当没有给出界限时,可以省略点。

因此要匹配长度为0的路径,必须明确使用0作为minHops:

(a)-[*0..5]->(b)

这将匹配0到5跳的路径,因此ab可能指向同一节点。

相比之下,(a)-[*..5]-(b)将匹配1到5个跃点。