neo4j图数据库,如何使用match语句查询某条关系数据?
发布于 作者:苏南大叔 来源:程序如此灵动~

对于neo4j
图数据的CRUD
来说,match
是一个非常重要的操作。所以,苏南大叔的文章里面,把match
也分成了好几篇文章来写,上一篇文章中主要说了匹配节点的问题,本文说一下匹配 relationship 的问题,其实匹配节点和匹配关系的方法差不多。

大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码的故事。就在刚刚,苏南大叔完成了节点匹配的文章,那么新的问题来了,如果要匹配的是关系呢?match
语句该怎么写呢?本文测试环境:win10
,neo4j@4.4.5
。主要的龙套数据还是来自neo4j
自带的movie
数据。
基本思路
前置阅读文章:
要匹配关系数据,那么就是要了解如何描述这条关系,一条关系依赖于两条节点而存在,并且关系是可以有方向的。
匹配所有的关系


不考虑关系的属性,只考虑关系的类型的话:


根据节点查询关系


根据type来查询关系

根据关系属性来查询关系

根据identity来查询关系
每条关系也是有个自增的identity
的,关系的id
和节点的id
范围是重叠的。但是,相同identity
的数据,可能描述的是节点,也可能描述的是identity
。

参考文献
- https://newsn.net/say/neo4j-match-node.html
- https://newsn.net/say/neo4j-match-relationship.html
- https://neo4j.com/docs/cypher-manual/4.4/
- https://neo4j.com/docs/cypher-refcard/4.4/
综述
匹配关系的过程和匹配节点的过程很相似,不过需要特别说明的就是:节点和关系虽然具有相同的identity
,但是他们并不是同一条物理上的数据,在neo4j
内部估计也是分别存储的,不知道您是否同意苏南大叔的观点呢?
更多cypher
的经验文章,请点击:


