华为云用户手册

  • 响应示例 状态码: 200 成功响应示例 { "jobId": "f73e743d-c56d-4d03-82a8-88746d724fb9001679194", "jobType": 4} 状态码: 400 失败响应示例 Http Status Code: 400{ "errorCode": "GES.8013", "errorMessage": "graph [movie2] is not found"}
  • 响应参数 表5 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType Integer 任务类型。请求失败时,字段为空。
  • 子图匹配(subgraph_matching)(2.2.16) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 edges 是 需匹配的子图的边集, 点的ID要求为size_t类型 String 标准CSV格式,边的起点与终点之间以英文逗号分隔,各边之间以换行符“\n”分隔,例如:“1,2\n2,3”。 vertices 是 需匹配的子图上各点的label String 标准CSV格式,点与其label之间以英文逗号分隔,各点与其label对之间以换行符“\n”分隔,点与sample中点相对应,例如:“1,BP\n2,FBP\n3,CP”。 directed 否 是否考虑图的方向 Boolean true或false,默认true。 n 否 限制寻找的子图的个数的上限 Integer [1,100000],默认为100。 batch_number 否 每轮批量处理的个数 Integer [1,1000000],默认为10000。 statistics 否 是否输出所有满足条件的子图的个数 Boolean true或false,默认false。 表2 response_data 参数说明 参数 是否必选 类型 说明 subgraphs 是 List 与pattern_graph同构的子图。格式: [[subgraph1],[subgraph2],…],其中subgraph的格式为: [vertex1,vertex2,…],其中vertex为string类型, 每个子图的点与pattern_graph的点一一对应。 pattern_graph 是 List 格式为:[vertex1,vertex2,…],其中vertex为string类型。 subgraph_number 否 Integer 当statistics = true时,输出所有满足条件的子图的个数。 父主题: 算法API参数参考
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 metadataPath 是 String 元数据存储地址。 name 是 String 元数据的名字。 description 否 String 对元数据的描述。 encryption 否 EncryptionReq object 对元数据加密。 表4 EncryptionReq 参数 是否必选 参数类型 描述 enable 否 Boolean 是否启动加密特性。取值为true或false,默认值为false。 true表示对元数据进行加密。 false表示对元数据不加密。 masterKeyId 否 String 对应的project下,华为云数据加密服务创建的用户主密钥ID。
  • 响应 { "data": { "outputs": { "data_return_size": 8, "paths": [ [ "Alice", "Janet", "Yvette", "Willy", "Jay" ], ... [ "Alice", "Jacob", "Jimmy", "Cary", "Jay" ] ], "runtime": 0.005276, "source": "Alice", "data_offset": 0, "paths_number": 8, "data_total_size": 8, "target": "Jay" } }} 表3 response_data参数说明 参数 类型 说明 paths List source节点和target节点之间的路径,格式: [[path1],[path2]] 其中, 路径(path)的格式可参考最短路径(Shortest Path)。 paths_number Integer 路径个数。 source String 起点ID。 target String 终点ID。
  • 请求样例 POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-algorithm{ "algorithmName": "filtered_all_shortest_paths", "edge_filter": { "property_filter": { "leftvalue": { "label_name": "labelName" }, "predicate": "=", "rightvalue": { "value": "friends" } } }, "parameters": { "source": "Alice", "target": "Jay", "directed": true }}
  • topicrank算法(topicrank)(2.2.20) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources 是 节点的ID,支持多点输入,csv格式,逗号分割。 String 当前仅支持少于等于100000个 id输入。 - actived_p 否 初始sources节点对应的权重初始值。 Double 0~100000,包括0和100000。 1 default_p 否 非sources节点对应的权重初始值。 Double 0~100000,包括0和100000。 1 filtered 否 是否对结果进行过滤。 Boolean true或false。 false only_neighbors 否 是否仅输出sources的邻居节点。 Boolean true或false。 false alpha 否 权重系数。 String 0~1,不包括0和1。 0.85 convergence 否 收敛精度。 String 0~1,不包括0和1。 0.00001 max_iterations 否 最大迭代次数。 Integer API调用限制为1~2147483647,前端调用限制为1~2000。 1000 directed 否 是否考虑边的方向。 Boolean true或false。 true num_thread 否 线程数。 Integer 1-40。 4 表2 response_data参数说明 参数 类型 说明 topicrank List 各节点的topicrank值,格式: [{vertexId:rankValue},...], 其中, vertexId:string类型 rankValue:double类型 父主题: 算法API参数参考
  • 请求示例 带过滤的n_paths算法,算法名称是filtered_n_paths,跳数是6,路径数是100,起始点是111,终点是56。 POST http://IP:PORT/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-algorithm{ "algorithmName": "filtered_n_paths", "filters": [ { "edge_filter": { "property_filter": { "leftvalue": { "label_name": "labelName" }, "predicate": "=", "rightvalue": { "value": "default" } } } }], "parameters": { "k": 6, "n": 100, "source": "111", "target": "56" }}
  • 任务返回示例 { "data": { "outputs": { "data_return_size": 3, "paths": [ [ "111", "119", "58", "96", "82", "57", "56" ], [ "111", "119", "58", "61", "76", "57", "56" ], [ "111", "119", "58", "79", "76", "57", "56" ] ], "runtime": 0.000308, "source": "111", "path_length": 6, "data_offset": 0, "paths_number": 3, "data_total_size": 3, "target": "56" } }, "status": "success"}
  • 请求参数 表1 body体格式 字段名 是否必选 类型 说明 algorithmName 是 String 对应值为“filtered_n_paths”。 parameters 是 Json格式 具体格式见表parameters参数说明。 filters 是 JSon Array 过滤条件列表,数组的每个元素分别对应每一层要做的查询和过滤条件。具体格式见表filters元素格式。 表2 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 source 是 起始点 String 图内部点 无 target 是 目标点 String 图内部点 无 k 是 跳数 Int [2,6] 2 n 是 路径数 Int [1,1000] 1 表3 filters元素格式 参数 是否必选 类型 取值范围 默认值 说明 edge_filter 否 json 无 无 全图查询边时的过滤条件。 vertex_filter 否 json 无 无 全图查询点时的过滤条件。 表4 response_data参数说明 字段名 是否必选 类型 说明 path_length 是 int 路径长度。 paths_number 是 int 路径数量。 paths 是 JsonArray 路径集合,["111","119","58","96","82","57","56"]。 source 是 String 起始点。 target 是 String 目标点。
  • 响应示例 状态码: 200 成功响应示例 { "jobId": "2e0c08e1-3fbb-4b33-8776-4809176068d7154236181", "jobType": 1} 状态码: 400 失败响应示例 Http Status Code: 400{ "errorMessage": "Bad Request ", "errorCode": "GES.8813"}
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询节点任务ID。请求失败时字段为空。 jobType Integer 任务类型。请求失败时,字段为空。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200{ "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122","jobType": 1} 状态码: 400 失败响应示例 Http Status Code: 400{"errorMessage":"graph [demo] is not found","errorCode":"GES.8402"}
  • 请求示例 在生成的子图上执行特定算法,算法名称为connected_component,子图生成器类型为filtered。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/subgraphs/action?action_id=execute-algorithm { "algorithmName":"connected_component", "subgraphCreator": { "name": "filtered", "parameters": { "edge_filter": { "property_filter": { "leftvalue": { "label_name": "labelName" }, "predicate": "=", "rightvalue": { "value": "PHYSICAL_LINK" } } } } }, "parameters":{ "num_thread":4 } }
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType Integer 任务类型。请求失败时,字段为空。
  • 请求参数 表1 Body参数说明 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 取值范围: connected_component。 kcore。 louvain。 label_propagation。 parameters 是 JSON 算法参数描述。 connected_component算法。 kcore算法。 louvain算法。 label_propagation算法。 subgraphCreator 是 Object 子图参数。详情请参考subgraphCreator参数说明。 表2 subgraphCreator参数说明 参数 是否必选 类型 说明 name 否 String 子图生成器类型。当前支持的取值为filtered。 parameters 是 JSON 子图生成器的名字不同,parameters格式不同。 表3 name=filtered时,parameters参数说明 参数 是否必选 类型 说明 vertex_filter 否 String 点过滤条件。 edge_filter 否 String 边过滤条件。
  • URI GET /ges/v1.0/{project_id}/graphs/{graph_name}/schema/structure?detail={details} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 details 否 String 可为SIMPLE或FULL,SIMPLE模式表示只返回点或边的label,FULL模式表示除点或边的label外,还有点或边的数量。若该字段不填,则默认为SIMPLE。
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 schema Object schema结构查询结果。详情请参见schema参数说明。 表3 schema参数说明 参数 类型 说明 vertices String 点的结果集合。图为空时,vertices内容为空。详情请参见vertices参数说明。 edges String 边的结果集合。图为空时,edges内容为空。详情请参见edges参数说明。 表4 vertices参数说明 参数 类型 说明 vertex String label名。 weight String 具有该label的点的数量。 表5 edges参数说明 参数 类型 说明 source String 起始点label名。 target String 终点label名。 relation String 关系label名 weight String 具有该label的边的数量。
  • 响应示例 状态码: 200 成功响应示例 { "schema": { "vertices": [ { "vertex": "user", "weight": 100 }, { "vertex": "movie", "weight": 46 } ], "edges": [ { "weight": 1209, "source": "user", "target": "movie", "relation": "rate" }, { "weight": 450, "source": "user", "target": "user", "relation": "default" } ] }} 状态码: 400 失败响应示例 Http Status Code: 400{ "errorMessage": "Bad Request, parameter [detail] cannot be null.", "errorCode": "GES.8813"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 expand 是 ReplicationReq object expand是一个对象,其中包含新扩副本数量。 表4 ReplicationReq 参数 是否必选 参数类型 描述 replication 是 String 新扩副本数量。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 扩副本任务ID。请求失败时字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考任务中心API。
  • 响应示例 状态码: 200 成功响应示例 { "data":{ "vertices":[ { "id":"1", "label":"movie", "properties":{ "genres":[ "Comedy" ], "movieid":[ 1 ], "title":[ "Airplane! (1980)" ] } } ], "runtime":0.126476598 } } 状态码: 400 失败响应示例 Internal Server Error{ "errorCode":"GES.8814", "errorMessage":"Unsupported API." }
  • 请求示例 执行指定的自定义操作,该自定义操作使用的API命令为gremlin,具体指令为{\"command\": \"g.V('1')\"}。 POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-operation{ "api": "gremlin", "command": "{\"command\": \"g.V('1')\"}"}
  • 请求示例 (不包括图规格为持久化版)列出满足过滤条件的第k跳节点或边,查询类型是出点,作用在下一跳的点上。 POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=path-query { "repeat":[ { "operator":"outV", "vertex_filter":{ "property_filter":{ "leftvalue":{ "label_name":"labelName" }, "predicate":"=", "rightvalue":{ "value":"rate" } } } } ], "times":2, "vertices":[ "1","2" ] } 以上请求等价于gremlin语句:g.V('1','2').repeat(out().hasLabel('rate')).times(2).dedup() (不包括图规格为持久化版)列出满足过滤条件的第k跳节点或边,查询类型是出点,作用在下一跳的点上。 POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=path-query { "repeat":[ { "operator":"outV", "vertex_filter":{ "property_filter":{ "leftvalue":{ "label_name":"labelName" }, "predicate":"=", "rightvalue":{ "value":"rate" } } } } ], "until":[ { "vertex_filter":{ "property_filter":{ "leftvalue":{ "property_name":"movieid" }, "predicate":"=", "rightvalue":{ "value":"1" } } } } ], "vertices":[ "v1","v2" ] } 以上请求等价于gremlin语句: g.V('v1','v2').repeat(out().hasLabel('rate')).until(has('movieid','1')).dedup() 请求样例((持久化版))列出满足过滤条件的第k跳节点或边,查询类型是出点,作用在下一跳的点上。 POST/ges/v1.0/{projectId}/graphs/{graphName}/action?action_id=path-query { "repeat":[ { "operator":"outV", "vertex_filter":{ "property_filter":{ "leftvalue":{ "label_name":"labelName" }, "predicate":"=", "rightvalue":{ "value":"rate" } } } } ], "emit":true, "times":2, "vertices":[ "1","2" ] } 以上请求等价于gremlin语句: g.V('1','2').repeat(out().hasLabel('rate')).times(2).emit().dedup()
  • 响应参数 同步返回 表10 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询结果。查询失败时,字段为空。 表11 data参数说明 参数 类型 说明 vertices List 点的结果集合。filters最后一层为点过滤时,data中将包含vertices。 edges List 边的结果集合。filters最后一层为边过滤时,data中将包含edges。 异步返回 表12 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,该字段为空。 jobType Integer 任务类型。请求失败时,该字段为空。
  • 响应示例 同步返回 状态码: 200 成功响应示例 { "data":{ "vertices":[ { "id":"51", "label":"user", "properties":{ "occupation":[ "homemaker" ], "gender":[ "F" ], "Zip-code":[ "46911" ], "userid":[ 5 ], "age":[ "56+" ] } } ] } } 状态码: 400 失败响应示例 Http Status Code: 400{ "errorMessage": "graph [tesdt_117] is not found", "errorCode": "GES.8806"}
  • 概述 欢迎使用图引擎服务(Graph Engine Service)。图引擎服务是业内首个商用的、拥有自主知识产权的国产分布式原生图引擎,是针对以“关系”为基础的“图”结构数据,进行查询、分析的服务。广泛应用于社交应用、企业关系分析、风控、推荐、舆情、防欺诈等具有丰富关系数据的场景。 您可以使用本文档提供API对图引擎服务资源进行相关操作。 管理面API 管理面API提供了图的管理类功能,包括图的创建,关闭,启动,恢复,升级,导入、导出和清空数据,绑定和解绑EIP,创建、查询和删除图备份、元数据等功能。用户执行这些操作时,需要调用管理面的API。 业务面API 业务面API提供了图的业务类功能,包括点、边、元数据的增加、删除、查询和修改,执行Gremlin查询,执行算法等功能。用户执行这些操作时,需要调用业务面的API。 GES支持的全部API请参见管理面API概览和业务面API概览。 在调用图引擎服务API之前,请确保已经充分了解图引擎服务相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 响应示例 状态码: 200 OK { "quotas" : { "resources" : [ { "type" : "graph", "available" : 1, "edgeVolume" : 178800 }, { "type" : "backup", "available" : 7 }, { "type" : "metadata", "available" : 13 } ] }}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 quotas GesQuotaResp object resource类型列表,请求失败时该字段为空。 表4 GesQuotaResp 参数 参数类型 描述 resources Array of Quota objects GES资源配额列表。 表5 Quota 参数 参数类型 描述 type String 表示配额类型。取值范围如下: "graph" "backup" "metadata" available Integer 图的可用个数。 edgeVolume Integer 边的可用个数。type(配额类型)取值为graph时此值有效。
  • 状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非合理的请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或不合理。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
共100000条