我正在寻找类似于 MySQL ( SHOW INDEXES ) 的东西。我能够在 Python 中使用 py2neo 获取索引列表
graphDB = neo4j.GraphDatabaseService()
indexes = graphDB.get_indexes(neo4j.Node)
print(format(indexes))
但我想知道是否有办法在 Cypher 中做类似的事情。
最佳答案
还没有。在 Neo4j 2.0 中引入了更密码友好的索引,您可以发出一些 DDL 命令来创建和删除索引和约束,但从 2.01 开始就是这样(参见 docs )。在 1.9 中,您根本无法使用 cypher 定义该类型的架构。
——
cypher 之外有很多方法,例如
在 neo4j-shell
你可以
index --indexes
列出旧索引schema
列出所有标签索引和约束schema ls -l :YourLabel
列出特定标签的索引和约束在
neo4j-browser
你可以:schema
列出所有标签索引和约束:schema ls -l :YourLabel
列出特定标签的索引和约束大多数让您执行密码查询的 API 还将提供查询模式的方法,例如
GraphDatabaseService.schema().getConstraints()
和 .getIndexes()
用于标签架构 GraphDatabaseService.index().nodeIndexNames()
和 .relationshipIndexNames()
用于遗留索引 /db/data/schema/
基于标签的架构的端点 /db/data/index/node/
和 /db/data/index/relationship/
用于遗留索引 关于Neo4j - 是否有密码查询语法来列出(显示)数据库中的所有索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801599/