neo4j多跳查询,未只获取到收尾两个节点,待继续
在Neo4j中实现多跳查询(即从一个节点出发,经过多个关系到达另一个节点),可以通过使用Cypher查询语言来完成。以下是一些常见的方法和示例,帮助你理解和实现多跳查询。
1.案例数据
我的是这样的数据
1.看到说,可以通过关系一级一级的查询,这前提是需要知道节点之间的关系。若不知道有几层关系,写起来就麻烦。
2.match和多次使用-[ ] ->
2.1 从关系 师父到徒弟,由图一可知,只有2个节点符合。
match (a:xiyou) -[:师父]->(b:xiyou)-[:徒弟]->(c:xiyou) where a <> c return a,c
2.2 若是想找 师父 ,徒弟 ,想找的节点是唐僧 ,高圆圆这两个节点,如何查询。
那就是用match和任意数量的关系*
若还是用上面的语句,查询出来的不只有2个,而是所有涉及到的关系的节点都会输出。
match (a:xiyou) -[:师父]->(b:xiyou)-[*0..3]->(c:xiyou) where a <> c return a,c
3级关系,显示3层的节点信息
若将3层关系,改成2层关系,将只会显示到 老高 这个节点
match (a:xiyou) -[:师父]->(b:xiyou)-[*0..2]->(c:xiyou) where a <> c return a,c
这还不是我想要的,我不想要中间的节点,只想要头尾的两个。如何写查询呢。
还没测试验证出来,只到了将其去除的进度。没获取到。待继续。