springboot+neo4j+d3项目之neo4j基础学习(五)neo4j查询节点的多层关系
之前提到了查询节点之间的单层关系,本篇来聊一聊如何查询neo4j中节点的多层关系
1.neo4j中多层关系的表示方式
(a)–>(b):是步长为1的路径,节点a和b之间有关系直接关联;
(a)–>()–>(b):是步长为2的路径,从节点a,经过两个关系和一个节点,到达节点b;
neo4j支持变长路径的模式,变长路径的表示方式是:[*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;
2.邻居节点查询
这里有很多方式,这个博客写的很清楚:https://blog.youkuaiyun.com/u013946356/article/details/81739079
简单的关系网如图:

现在我们利用match (s:Entity{name:'英短'}) return (s)-[]->()查询与s直接相连的所有节点

3.查询多层关系
match p= (s)-[*2..3]->(t) return p

match p= (s)-[*3]->(t) return p

查询先说到这里,如果想学习一些关于建立索引或者内容返回为list/array格式的东西,可以自己查看资料,这里分享一个,https://blog.youkuaiyun.com/sinat_26917383/article/details/79852596
本文介绍Neo4j中查询节点间多层关系的方法,包括不同步长路径的表示及查询技巧。通过实例演示了如何使用Cypher语言进行邻居节点及多层关系的查询。
1211





