
# Cypher预置条件
当前的Cypher查询编译过程中使用了基于label的点边索引，如需正常使用Cypher，请使用[新建索引API](https://support.huaweicloud.com/api-ges/ges_03_0057.html)构建索引，示例如下：
- 点label索引添加命令示例，索引名称为cypher_vertex_index，索引类型为全局点索引。
  ```
  POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/indices
  {
          "indexName": "cypher_vertex_index",
          "indexType": "GlobalCompositeVertexIndex",
          "hasLabel": "true",
          "indexProperty": []
  }
  ```
  
- 边label索引添加命令示例，索引名称为cypher_edge_index，索引类型为全局边索引。
  ```
  POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/indices
  {
          "indexName": "cypher_edge_index",
          "indexType": "GlobalCompositeEdgeIndex",
          "hasLabel": "true",
          "indexProperty": []
  }
  ```
  
![](https://support.huaweicloud.com/api-ges/public_sys-resources/note_3.0-zh-cn.png)
1. 图规格为一亿边、十亿边、百亿边规格时，不需要进行此步骤（图版本要求2.3.6及以上）。
2. 需要同时添加两个索引（点label索引和边label索引）才能正常使用Cypher查询。
3. 如果图中已经存在hasLabel为true, indexProperty为空的点索引或边索引，则不需要重复构建。
4. 添加索引API为异步接口，查询索引是否添加成功，请使用[查询Job状态API](https://support.huaweicloud.com/api-ges/ges_03_0037.html)。
5. 细粒度权限开启时使用子账号创建索引，需要子账号具有schema权限、所有label（包括默认label"__DEFAULT__"）的读权限。否则创建索引后需要使用具备相应权限的账号发送"call db.schema()"对Cypher查询编译缓存进行刷新。
 
