华为云用户手册

  • 响应示例 状态码: 200 成功响应示例1(返回不同label下点边数目的情况) Http Status Code: 200 { "data": { "vertexNum": 146, "labelDetails": { "labelInVertex": { "movie": 46, "user": 100 }, "labelInEdge": { "default": 450, "rate": 1209 } }, "edgeNum": 1659 } } 成功响应示例2(无法提供不同label下点边数目的情况) Http Status Code: 200 { "data": { "vertexNum": 146, "labelDetails": { "errorMessage": "Label index in vertices is not found.Label index in edges is not found.", "errorCode": "GES.8017" }, "edgeNum": 1659 } } 成功响应示例3(只有不同label下点数目正常返回的情况) Http Status Code: 200 { "data": { "vertexNum": 146, "labelDetails": { "errorMessage": "Label index in edges is not found.", "labelInVertex": { "movie": 46, "user": 100 }, "errorCode": "GES.8017" }, "edgeNum": 1659 } } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8001" }
  • 响应参数 表4 要素说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 图数据库中的悬空边(边存在,但是边的source节点或target节点不存在)不会同步到HyG引擎。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertex 否 Json 点属性列表,如果列表为空,则不会同步点属性。参数详见vertex、edge参数说明。 首次执行数据同步时,该参数生效,后续执行数据同步,该参数默认跟首次指定的保持一致。 edge 否 Json 边属性列表,如果列表为空,则不会同步边属性。参数详见vertex、edge参数说明。 首次执行数据同步时,该参数生效,后续执行数据同步,该参数默认跟首次指定的保持一致。 表3 vertex、edge参数说明 参数 是否必选 类型 说明 label 是 String label名称。 property 是 Array of strings 属性名称,属性要隶属于该标签。
  • 请求示例 图数据库的更新信息同步到HyG计算引擎,点属性列表为空,边属性列表的属性名称为“Rating”、label名称为“rate”。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/sync { "vertex": [], "edge": [ { "property": [ "Rating" ], "label": "rate" } ] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "f99f60f1-bba6-4cde-bd1a-ff4bdd1fd500000168232" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Parameter error!", "errorCode": "GES.8005" }
  • 管理面API概览 GES管理面API包括系统管理,图管理,备份管理,元数据管理和任务中心。 表1 系统管理API 名称 版本 URL 功能描述 查询配额 1.0.0 GET /v2/{project_id}/graphs/quotas 查询图个数、边数以及备份个数配额。创建图或者图备份操作时,可以调用该API查看配额,避免报错配额不足。 表2 图管理API 名称 版本 URL 功能描述 查询图列表 2.1.18 GET /v2/{project_id}/graphs 查看已经创建的所有图的列表。 查询图详情 1.0.0 GET /v2/{project_id}/graphs/{graph_id} 查询某个图的详情,包括图内网、公网访问地址,图版本号,图已经导入的点、边数据集。 创建图 2.2.2 POST /v2/{project_id}/graphs 用户定义好图的元数据和点、边数据集后,下一步就是创建一个图。 关闭图 1.0.0 POST /v2/{project_id}/graphs/{graph_id}/stop 用户的业务不需要连续性,可以随时关闭图。停止后,图停止计费。 启动图 1.0.0 POST /v2/{project_id}/graphs/{graph_id}/start 用户关闭图后要再次使用图,可以把数据恢复到上次关闭状态或者恢复到某个备份时间点。 删除图 1.0.0 DELETE /v2/{project_id}/graphs/{graph_id} 用户不需要时可以删除图,删除后图停止计费。 增量导入图 2.1.14 POST /v2/{project_id}/graphs/{graph_id}/import-graph 用户需要增量导入图数据。 导出图 1.0.5 POST /v2/{project_id}/graphs/{graph_id}/export-graph 用户需要把图的所有数据导出为文本文件。 清空图 2.1.2 POST /v2/{project_id}/graphs/{graph_id}/clear-graph 用户要把图的所有数据清空,包括点、边数据。 升级图 1.0.5 POST /v2/{project_id}/graphs/{graph_id}/upgrade 老版本的图有Bug或者需要增加新功能时,需要把老版本的图升级到新版本。 绑定EIP 1.0.6 POST /v2/{project_id}/graphs/{graph_id}/bind-eip 用户需要在公网访问图时,需要绑定一个弹性公网IP。 解绑EIP 1.0.6 POST /v2/{project_id}/graphs/{graph_id}/unbind-eip 用户不需要在公网访问图时,可以把该图绑定的弹性公网IP解绑。 变更规格 2.2.21 POST /v2/{project_id}/graphs/{graph_id}/resize 变更图规格。 强制重启图 2.2.21 POST /v2/{project_id}/graphs/{graph_id}/restart 强制启动一个图。 扩副本 2.2.23 POST /v2/{project_id}/graphs/{graph_id}/expand 扩副本能力允许动态扩容多个从节点,扩容的从节点可以处理读请求,从而提高读请求性能。 表3 备份管理API 名称 版本 URL 功能描述 查看所有备份列表 1.0.0 GET /v2/{project_id}/graphs/backups 查看所有图的所有备份详情。 查看某个图的备份列表 1.0.0 GET /v2/{project_id}/graphs/{graph_id}/backups 查看某个图下所有备份的详情,包括备份开始、结束时间等。 新增备份 1.0.0 POST /v2/{project_id}/graphs/{graph_id}/backups 备份用于增加数据可靠性,同时可以作为一个图的快照,方便恢复到该快照。 删除备份 1.0.0 DELETE /v2/{project_id}/graphs/{graph_id}/backups/{backup_id} 删除某个图的备份。 导出备份 2.3.16 POST /v2/{project_id}/graphs/{graph_id}/backups/export 通过该API,您可以将GES图实例备份导出到OBS。 导入备份 2.3.16 POST /v2/{project_id}/graphs/{graph_id}/backups/import 通过该API,您可以从OBS上的备份文件导入备份。 表4 元数据管理API 名称 版本 URL 功能描述 查询元数据列表 1.0.2 GET /v2/{project_id}/graphs/metadatas 查询所有元数据详情,包括状态、OBS存储路径。 查询元数据 1.0.2 GET /v2/{project_id}/graphs/metadatas/{metadata_id} 查询某个元数据详情。 新增元数据 2.1.18 POST /v2/{project_id}/graphs/metadatas 新增元数据为创建图之前的准备操作,用户必须先创建元数据才能创建图。 删除元数据 1.0.2 DELETE /v2/{project_id}/graphs/metadatas/{metadata_id} 删除一个元数据。 从OBS导入元数据 1.0.0 POST /v2/{project_id}/graphs/metadata/upload-from-obs 从OBS导入元数据。 表5 任务中心API 名称 版本 URL 功能描述 查询Job状态 1.0.0 GET /v2/{project_id}/graphs/{graph_id}/jobs/{job_id}/status 图删除、关闭、启动、恢复、增量导入、清空、升级等API为异步任务,API会返回jobId,可以通过该接口查看异步任务执行状态。 查询任务中心 1.1.8 GET /v2/{project_id}/graphs/jobs 用户查看所有的异步任务。 表6 GraphPlugins管理API 名称 版本 URL 功能描述 查询获取场景应用分析插件 2.3.11 GET /v2/{project_id}/graphs/scenes 查询scenes场景下的应用分析能力详情,可以获得对应场景下的application、参数和功能介绍详情。 订阅场景分析插件 2.3.11 POST /v2/{project_id}/graphs/{graph_id}/scenes/register 订阅scenes应用场景分析能力,便于业务面API使用对应功能。 取消订阅场景分析插件 2.3.11 POST /v2/{project_id}/graphs/{graph_id}/scenes/unregister 取消订阅scenes场景应用分析能力,取消订阅后,对应scene下的application业务面API将不能使用。 父主题: API概览
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Edge source vertex [Vivian] does not exist", "errorCode": "GES.8000" }
  • 请求示例 进行删除边操作,待删除边的起点名称为Vivian,终点名称为Lethal Weapon,边index值为0,边的label值为rate,属性名称为Score,属性值为5。 DELETE http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges?source=Vivian&target=Lethal Weapon&index=0&label=rate&property=Score&value=5 SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表3 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "b4f2e9a0-0439-4edd-a3ad-199bb523b613" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Parameter error!", "errorCode": "GES.8005" }
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 status String 查询成功时返回任务状态,可选值为pending,running,complete。查询失败时字段为空。 result String 执行结果。 成功时,result值为success。 失败时,result值为failed。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "fb74314e-a82d-41b2-8900-96e2559fa0d9000168232" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Parameter error!", "errorCode": "GES.8005" }
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result":"success", "data":{"index":"0"} } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"Edge source vertex [Lily] does not exist", "errorCode":"GES.8000" }
  • 请求示例 添加边,source点名称为Lily,target点名称为Rocky,边的标签名为rate。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges { "source": "Lily", "target": "Rocky", "label": "rate", "properties": { "Score": [ 5 ], "Datetime": [ "2018-01-01 20:30:05" ] }, "parallelEdge": { "action": "override", "ignoreLabel": true, "targetProperties": [ { "label": "rate", "properties": [ "Datetime" ] }, { "label": "superclassOf", "properties": [ "popularity" ] } ] } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表5 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 result String 响应结果。成功时result值为success,失败时值为failed。 data Object 查询结果。查询成功时显示结果,若查询失败时,字段为空。
  • 请求示例 根据批量节点ID删除节点,待删除的点ID数组为Vivian和46。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-delete { "vertices": [ "Vivian", "46" ] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214", "result": "failed" }
  • 响应示例 状态码: 200 成功响应示例(同步任务) Http Status Code: 200 { "results": [ { "columns": ["n"], "data": [ { "row": [ { "occupation": "artist", "gender": "F", "Zip-code": "98133", "userid": 0, "age": "25-34" } ], "meta": [ { "id": "46", "type": "node", "labels": [ "user" ] } ] } ], "stats": { "contains_updates": false, "edges_created": 0, "edges_deleted": 0, "labels_set": 0, "properties_set": 0, "vertices_created": 0, "vertices_deleted": 0 } } ], "errors": [] } 状态码: 200 成功响应示例(异步任务) Http Status Code: 200 { "results": [ { "columns": [ "jobId" ], "jobId": "cbb39b88f8613a164222dce0a3831d000000382489090", "data": [ { "row": [ "cbb39b88f8613a164222dce0a3831d000000382489090" ], "meta": [ null ] } ], "stats": {} } ], "errors": [] } 状态码: 400 失败响应示例 Http Status Code: 400 { "results": [], "errors": [ { "code": "GES.8902", "message": "Parentheses are required to identify nodes in patterns, i.e. (n) (line 1, column 7 (offset: 6))" } ] }
  • 请求示例 执行Cypher查询,Cypher语句为match (n) return n limit 1。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-cypher-query { "statements": [{ "statement": "match (n) return n limit 1", "parameters": {}, "resultDataContents": ["row"], "includeStats": false }] }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 statements 是 List statements为一个语句组,包含一到多条语句。其中每个元素的格式如表 statements参数说明。 表3 statements参数说明 参数 是否必选 类型 说明 statement 是 String Cypher语句。 parameters 是 Object Cypher语句参数,在进行参数化查询时使用,默认为空。 如需使用,请参考参数化查询。 resultDataContents 否 String或List 返回的结果样式,样式可设置一个或多个。可选参数有“row”,”graph”, “raw”(2.2.27版本新增)。 includeStats 否 Boolean 控制返回结果是否携带增删改统计信息的开关,若不设置此字段,默认为不携带。 runtime 否 String 执行器类型,可选值为“map”、“slotted” 、“block”,默认为“map”。slotted执行器自2.3.15版本开始支持,block执行器自2.4.1版本开始支持。 executionMode(2.2.23) 否 String 执行模式。同步执行模式填写“sync”,异步执行填写“async”,不写默认同步执行。异步模式下,获取查询结果参见查询Job状态。 limit(2.2.23) 否 Int 该字段仅在异步模式下生效,表示对异步结果的最大结果数限制,默认值为100000。 transactional 否 Bool 控制Cypher请求是否为事务的。默认为false。更多详细Cypher事务介绍参见Cypher事务。 在语句前可以添加explain或profile前缀,用于显示查询计划: explain只显示查询计划,不执行语句;profile显示查询计划,并执行语句。 runtime字段说明:与map执行器相比,slotted执行器和block执行器在语句的计划生成阶段完成了更多的语句数据流分析,在大部分情况下执行速度更快,占用内存更少。 Cypher事务: 持久化版规格下Cypher支持事务,用户可以通过设置transactional为true来开启Cypher的事务功能,以保证单条Cypher语句的原子性。对于多条Cypher语句的事务暂不支持。事务的隔离级别为串行化(serializability)。 由于底层存储引擎存在5s的事务时间窗口限制,因此Cypher的事务不可超过5s。对于复杂的查询,比如说多跳,运行时间可能会超过5s,从而触发超时导致提交失败。 使用Cypher的dbms.killQuery过程可以终止Cypher事务(详见Cypher API-函数和过程), 并回滚这条Cypher请求造成的所有改动。
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 results List 每个元素是一条Cypher语句的返回结果。 errors List 每个元素包含字符串形式的code和message信息。 表5 参数results中各要素说明 参数 类型 说明 columns List 返回的字段名。 data List 返回的数据值,每个元素代表一条记录。 stats Object 返回的增删改统计信息。 plan Object 如果cypher语句带explain或者profile前缀,则此字段输出查询计划,否则不显示该字段,正常执行查询。profile特性2.3.12版本开始支持。 jobId(2.3.10) String 请求为异步执行模式下,该字段用于输出异步任务id。 表6 参数data中各要素说明: 参数 类型 说明 row List 表示具体一行的内容,每个元素对应该行的一个字段,仅当resultDataContents为空或者包含“row”类型时显示。 meta List 表示该行每个字段的类型信息,仅当resultDataContents为空或者包含“row”类型时显示。 graph Object 以“graph”样式返回该行信息,仅当resultDataContents包含“graph”类型时显示。 raw(2.2.27) List 以“raw”样式返回该行信息,仅当resultDataContents包含“raw”类型时显示。 表7 stats各要素响应参数: 参数 类型 说明 contains_updates Boolean 表示本次查询是否有数据修改。 edges_created Integer 创建的边数目。 edges_deleted Integer 删除的边数目。 labels_set Integer 设置的label数目。 properties_set Integer 设置的属性数目。 vertices_created Integer 创建的点数目。 vertices_deleted Integer 删除的点数目。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Parameter error!", "errorCode": "GES.8005" }
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 communities List 各节点对应的社团(community),格式: [{vertexId:[communityId]},...] 其中, vertexId: string类型。 communityId: int类型。 community_num Integer 社团数量。 log_likelihood double 置信度。
  • 请求示例 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm { "algorithmName":"bigclam", "parameters":{ "community_num_space":"3,2,10" } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 convergence 否 Double 收敛精度,取值范围为(0,1),默认值为0.00001。 max_iterations 否 Integer 最大迭代次数。API调用限制为[1,2147483647],前端调用限制为[1,2000],默认值为100。 community_num_space 是 String 社区数量搜索空间,多个整形值用","隔开,最多不超过100个,每个整形值的范围为[1,10000]。 learning_rate 否 Double 模型学习率,取值大于0,默认为0.01。
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 source String 起点ID。 target String 终点ID。 link_prediction Double 关联预测结果。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Parameter error!", "errorCode": "GES.8005" }
  • 请求示例 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/ algorithm { "algorithmName": "link_prediction", "parameters": { "source": "3", "target": "15" } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 indexName 是 String 索引名称。只能包含字母,数字,-和_。不能包含其他字符。索引名称的长度需在63字符以内。 indexType 是 String 索引的类型。区分大小写。“GlobalCompositeVertexIndex”为全局的Composite类型的点索引。 hasLabel 否 String 是否有label,默认为“false”。 “true” “false” indexProperty 否(若hasLabel为false或null,则该项为必选) String 索引的属性列表。 如果属性类型为string或者char array,属性长度建议不要超过40个字节,超出的部分会被截断。 新建索引上限为10个。
  • 响应参数 表3 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType String 执行该异步任务的jobType。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全