Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j-是否有密码查询语法来列出(显示)数据库中的所有索引?_Neo4j_Cypher_Indexing - Fatal编程技术网

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

Neo4j-是否有密码查询语法来列出(显示)数据库中的所有索引?,neo4j,cypher,indexing,Neo4j,Cypher,Indexing,我正在寻找类似MySQL的东西(显示索引)。我能够在Python中使用py2neo获得索引列表 graphDB = neo4j.GraphDatabaseService() indexes = graphDB.get_indexes(neo4j.Node) print(format(indexes)) 但我想知道是否有一种方法可以在Cypher中做类似的事情。还没有。在Neo4j 2.0中,引入了更友好的cypher索引,您可以发出一些DDL命令来创建和删除索引和约束,但从2.01开始就是这样

我正在寻找类似MySQL的东西(显示索引)。我能够在Python中使用py2neo获得索引列表

graphDB = neo4j.GraphDatabaseService()
indexes = graphDB.get_indexes(neo4j.Node)
print(format(indexes))

但我想知道是否有一种方法可以在Cypher中做类似的事情。

还没有。在Neo4j 2.0中,引入了更友好的cypher索引,您可以发出一些DDL命令来创建和删除索引和约束,但从2.01开始就是这样(请参阅)。在1.9中,您根本不能用cypher定义这种模式

--

例如,在cypher之外有很多方法

neo4j外壳中
可以

  • 使用
    索引--索引列出旧索引
  • 使用
    schema
  • 使用模式ls-l:YourLabel列出特定标签的索引和约束
neo4j浏览器中
可以

  • 使用
    :schema
  • 使用
    列出特定标签的索引和约束:schema ls-l:YourLabel
大多数允许您执行密码查询的API还将提供查询模式的方法,例如

  • 本机Java API
    • 标签架构的
      GraphDatabaseService.schema().getConstraints()
      .getIndexes()
    • GraphDatabaseService.index().nodeIndexNames()
      传统索引的.relationshipIndexNames()
  • 休息电话
    • /db/data/schema/
      基于标签的架构的端点
    • 对于旧式索引,请转到
      /db/data/index/node/
      /db/data/index/relationship/

这并不能完全回答您的问题(我还想知道杰德伯格的答案。)

py2neo中有一些标签功能:

获取索引(标签)
获取标签的索引属性键列表


仅供参考,在shell中,您可以使用未记录的
schema
命令

在Cypher中,您不能这样做,但是有一个restapi请求,它可以工作

你们可以在候机楼办理登机手续

数据库中的所有索引:

curl http://localhost:7474/db/data/schema/index/
特定标签上的索引:

curl http://localhost:7474/db/data/schema/index/User

:schema
命令呢?(在Neo4j shell中,它只是
模式


Neo4j 2.0.1中的“魅力”功能现在作为一个内置过程支持,您可以从Cypher调用:

CALL db.indexes();

如4.2所述,新的显示索引不推荐使用

SHOW INDEXES

因为我在Cypher中找不到任何东西,所以我一直在使用shell命令“index--index”。这很有用,但实际上不是Cypher的一部分。
SHOW INDEXES