neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在?
发布于 作者:苏南大叔 来源:程序如此灵动~

neo4j
的节点或者关系里面,可以是简单的文字描述,但是也可以添加各种属性。并且,对于同样类似的节点,彼此之间的属性归属还可以不一致,这样就像是对json
的描述一样,可以随意添加。那么,如何判断某个属性是否存在呢?这就是本文要表述的内容。
![苏南大叔到底是谁?!? - 属性是否存在hero 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 属性是否存在hero](/usr/img/water/9f/9f8977676e610201.png)
大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述neo4j
图数据库的属性查询。本文测试环境:win10
,neo4j社区版@4.4.6
,java@11.0.14
。本文说的是属性,包括节点属性,也包括关系属性。
龙套数据
龙套数据依然是neo4j
自带的movie
例子,每个person
类型节点都自带born
属性。为了测试方便,这里对数据进行了部分处理。
添加一个born
属性为空的Person
:
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 空字符串属性 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 空字符串属性](/usr/img/water/53/53063e4a0c563644.png)
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 总节点数 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 总节点数](/usr/img/water/22/221376575f69991f.png)
那么,类型为Person
的节点就是134个,其中:
- 默认没有
born
属性的节点是5个。 - 有
born
节点,但是为空字符串的节点是1个。
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 默认没有born属性的节点 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 默认没有born属性的节点](/usr/img/water/69/69a3a64262279f29.png)
属性是否存在【不推荐exist】
传统的cypher
写法,是使用exists
函数。但是,系统提示:是个准备废弃的函数。
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 废弃的属性 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 废弃的属性](/usr/img/water/fd/fd556ea5b8f9fc86.png)
属性存在:
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - exists函数 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - exists函数](/usr/img/water/a5/a5fb4d0edb650c35.png)
属性不存在:
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 属性不存在 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 属性不存在](/usr/img/water/11/11b03564d92bac06.png)
属性是否存在【推荐is null】
属性存在:
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - exists函数2 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - exists函数2](/usr/img/water/27/27141018a7a588ca.png)
属性不存在:
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 属性不存在2 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 属性不存在2](/usr/img/water/13/13809a8f9c211d88.png)
属性是否是空字符串判断
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 查询空字符串属性 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 查询空字符串属性](/usr/img/water/d2/d2e68855a53be9d8.png)
![解决了问题,节约了时间!我要为苏南大叔买瓶饮料! - 属性不为空字符串的节点 苏南大叔:neo4j图数据库,如何查询[节点属性]或[关系属性]是否存在? - 属性不为空字符串的节点](/usr/img/water/c5/c516ee4c228f4ab3.png)
相关文章
综述
更多neo4j
经验文章,请点击下面的链接查看:


