更新时间:2024-04-17 GMT+08:00
分享

Cypher预置条件

当前的Cypher查询编译过程中使用了基于label的点边索引,如需正常使用Cypher,请使用新建索引API构建索引,示例如下:

  • 点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": []
    }
  1. 图规格为一亿边、十亿边、百亿边规格时,不需要进行此步骤(图版本要求2.3.6及以上)。
  2. 需要同时添加两个索引(点label索引和边label索引)才能正常使用Cypher查询。
  3. 如果图中已经存在hasLabel为true, indexProperty为空的点索引或边索引,则不需要重复构建。
  4. 添加索引API为异步接口,查询索引是否添加成功,请使用查询Job状态API
  5. 细粒度权限开启时使用子账号创建索引,需要子账号具有schema权限、所有label(包括默认label“__DEFAULT__”)的读权限。否则创建索引后需要使用具备相应权限的账号发送“call db.schema()”对Cypher查询编译缓存进行刷新。

相关文档