Neo4j - 是否有密码查询语法来列出(显示)数据库中的所有索引?

标签 neo4j cypher indexing

我正在寻找类似于 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 还将提供查询模式的方法,例如
  • 原生 Java API
  • GraphDatabaseService.schema().getConstraints().getIndexes()用于标签架构
  • GraphDatabaseService.index().nodeIndexNames().relationshipIndexNames()用于遗留索引
  • REST 调用
  • /db/data/schema/基于标签的架构的端点
  • 并到 /db/data/index/node//db/data/index/relationship/用于遗留索引
  • 关于Neo4j - 是否有密码查询语法来列出(显示)数据库中的所有索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801599/

    相关文章:

    neo4j 查询排除与具有某些属性的节点相关的节点

    neo4j - 如何使用 Neo4J 的 Cypher 查询返回关系类型?

    Neo4JClient - 如何将节点添加到索引

    python - 将 neo4django 与 apache 一起使用

    neo4j cypher - 将两个分组查询的结果分开(第 1 列/第 2 列)

    javascript - slice() 方法的问题,数组显然是自动排序的,但实际上并没有

    java - Java 集合的多个索引 - 最基本的解决方案?

    MongoDB WinningPlan IDHACK

    java - cypher 中的 FOREACH - neo4j

    java - 将 UUID 添加到 neo4j spring 数据框架