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.csdn.net/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.csdn.net/sinat_26917383/article/details/79852596

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐