从一个节点,通过直接关系,连接到另外一个节点,这个过程叫遍历,经过的节点和关系的组合叫做路径(Path),路径是由节点和关系的有序组合。
(a)-->(b):是步长为1的路径,节点a和b之间有关系直接关联;
(a)-->()-->(b):是步长为2的路径,从节点a,经过两个关系和一个节点,到达节点b;
Cypher语言支持变长路径的模式,变长路径的表示方式是:[*N..M],N和M表示路径长度的最小值和最大值。
(a)-[*2]->(b):表示路径长度为2,起始节点是a,终止节点是b;
(a)-[*3..5]->(b):表示路径长度的最小值是3,最大值是5,起始节点是a,终止节点是b;
(a)-[*..5]->(b):表示路径长度的最大值是5,起始节点是a,终止节点是b;
(a)-[*3..]->(b):表示路径长度的最小值是3,起始节点是a,终止节点是b;
(a)-[*]->(b):表示不限制路径长度,起始节点是a,终止节点是b;
结论:本质上来说,多层关系查找是路径查找。