neo4j图数据库,如何代码查看索引indexes和约束constraints?
发布于 作者:苏南大叔 来源:程序如此灵动~
neo4j图数据库,是使用browser来管理数据的。在清库之后,在左侧会出现一定的数据残余。那么,从原理上来说,这些残余的数据都是什么呢?如何直观的看到这些数据的来源呢?这些是在本文中要讨论的问题。

大家好,这里是苏南大叔的“程序如此灵动”博客,这里记录苏南大叔和计算机代码的故事。本文讨论如何代码查看schema和keys。测试环境:win10,neo4j@4.4.3。
查看约束constraints
call db.constraints
查看索引indexes
call db.indexes
看来,约束constraints也是一种特殊的索引index,db.indexes和schema的返回结果一致。
查看schema(包括约束和索引)
:schemaschema里面包括constraint和index两部分数据,虽然和browser左侧不一一对应。但是,正是因为这些约束和索引的存在,才导致清空数据后,左侧存在数据残留。

执行语句:
call apoc.schema.assert({},{})约束信息和btree类型的索引信息被清除,还剩余两条lookup类型的索引。

查看keys
这个keys就是browser左侧一直无法清除的Property Keys。
call db.propertyKeys
使用下面的语句删除对应born属性后,(其实只在node上存在),依然在browser左侧存在。
MATCH (n) remove n.born
MATCH ()-[r]-() remove r.born看来这样操作,并不能删除born属性,只是仅仅置空(null)而已。
match (n) return distinct n.born
参考文献
- https://newsn.net/say/neo4j-apoc-assert.html
- https://newsn.net/say/neo4j-apoc.html
- https://newsn.net/say/neo4j-rm-database.html
综述
本文并不是致力于删除这些奇怪的数据的,仅仅是致力于用表格的形式查看它们的存在。更多neo4j文章,请支持苏南大叔的博客。