华为云用户手册

  • 响应示例 状态码: 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":"label_propagation", "parameters":{ "convergence":"0.00001", "max_iterations":"1000" } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 status String 查询成功时返回任务状态,可选值为pending,running,success。查询失败时字段为空。 data Object 算法运行的结果。查询失败时字段为空。
  • 响应示例 根据输入参数,执行指定算法,查询算法结果(根据算法请求返回的job_id,调用查询job_id接口获取算法结果)。 状态码: 200 成功响应示例 { "data": { "outputs": { $response_data //各算法的具体返回结果,不同算法返回结果不同 "runtime": 1.365867, "data_return_size": 3, "data_offset": 0, "data_total_size": 100 } }, "status": "success" } response_data 表示各算法的具体返回结果,不同算法返回结果不同。 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"Running algorithm [XXXX] error: YYYYYYYYY!", "errorCode":"GES.8301" }
  • 请求参数 表1 Body参数说明 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 取值范围(以下显示的均为算法实际调用时的名称): pagerank personalrank kcore k_hop shortest_path all_shortest_paths filtered_shortest_path sssp shortest_path_of_vertex_sets n_paths closeness subgraph_matching topicrank label_propagation louvain link_prediction node2vec realtime_recommendation common_neighbors connected_component degree_correlation triangle_count cluster_coefficient common_neighbors_of_vertex_sets all_shortest_paths_of_vertex_sets filtered_circle_detection filtered_all_pairs_shortest_paths filtered_all_shortest_paths filtered_n_paths parameters 是 Object 算法参数。详情请参考各算法参数描述。 表2 2.1.7版本新增Body参数说明 参数 是否必选 类型 说明 executionMode 否 String sync:同步 async:异步 默认值为“async”。 支持的算法(以下显示的均为算法实际调用时的名称): k_hop shortest_path all_shortest_paths filtered_shortest_path shortest_path_of_vertex_sets n_paths realtime_recommandation filtered_all_pairs_shortest_paths filtered_all_shortest_paths offset 否 Integer 同步结果的偏移量,默认值为“0”。 说明: executionMode=sync时有效。 支持的算法(以下显示的均为算法实际调用时的名称): k_hop shortest_path all_shortest_paths shortest_path_of_vertex_sets n_paths realtime_recommandation filtered_all_pairs_shortest_paths filtered_all_shortest_paths limit 否 Integer 同步结果返回的最大数量,最大值为100000。默认值为“100000”。 说明: executionMode=sync时有效。 支持的算法(以下显示的均为算法实际调用时的名称): k_hop shortest_path all_shortest_paths shortest_path_of_vertex_sets n_paths realtime_recommandation filtered_all_pairs_shortest_paths filtered_all_shortest_paths 表3 2.2.4版本新增Body参数说明 参数 是否必选 类型 说明 vertex_filter 否 Object 路径中对节点的过滤条件。 支持的算法(以下显示的均为算法实际调用时的名称): filtered_shortest_path filtered_all_pairs_shortest_paths filtered_all_shortest_paths 具体格式请见 Filtered-query API中的表6。 edge_filter 否 Object 路径中对边(关系)的过滤条件。 支持的算法(以下显示的均为算法实际调用时的名称): filtered_shortest_path filtered_all_pairs_shortest_paths filtered_all_shortest_paths 具体格式请见 Filtered-query API中的表6。 filters 否 Object 过滤条件列表,数组的每个元素分别对应每一层要做的查询和过滤条件。该参数仅适用于带一般过滤条件环路检测(filtered circle detection),具体格式请见filters元素格式。 支持的算法: filtered_n_paths filtered_circle_detection topicrank
  • 请求示例 请求样例1:列出满足过滤条件的第k跳节点或边,查询类型是出点,作用在下一跳的点上。 POST http://{SERVER_URL}/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() 请求样例2:列出满足过滤条件的第k跳节点或边,查询类型是出点,作用在下一跳的点上。 POST http://{SERVER_URL}/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()
  • 响应参数 同步返回 表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" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 job_id String 关闭图任务ID。请求失败时为空。 表4 响应Body参数 参数 参数类型 描述 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。
  • 请求示例 批量添加边,边的起点为46,边的终点分别为39和38,边的标签为rate。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-add { "parallelEdge": { "action": "override", "ignoreLabel": false, "targetProperties": [ { "label": "rate", "properties": [ "Datetime" ] }, { "label": "superclassOf", "properties": [ "popularity" ] } ] }, "createNotExists": true, "edges": [ { "source": "46", "target": "39", "label": "rate", "properties": { "Rating": [ 5 ], "Datetime": [ "2018-01-01 20:30:05" ] } }, { "source": "46", "target": "39", "label": "rate", "properties": { "Rating": [ 4 ], "Datetime": [ "2018-01-01 20:30:05" ] } } ] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 样例中,若假设点666和777不在原图中,则创建666和777两个点,且label为默认值,之后再添加边。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result":"success", "data": { "edges": [ { "index": "7", "source": "46", "target": "39" }, { "index": "0", "source": "46", "target": "38" } ] } } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"Edge source vertex [Lily] does not exist", "errorCode":"GES.8000" }
  • 响应示例 状态码: 200 响应成功示例 Http Status Code: 200 { "data": { "vertices": [{ "id": "Place00032", "label": "Place", "properties": {} }, { "id": "Person00041", "label": "Person", "properties": { "gender": ["女"], "phone": ["P0334529194"], "name": ["吴桂芳"], "startTime": [1774368], "endTime": [16756560], "age": [48] } }], "edges": [{ "index": "0", "source": "Person00041", "label": "hasVisit", "properties": { "startTime": [1646092800], "visitDate": [20220301], "endTime": [1646126769] }, "target": "Place00032" }, { "index": "3", "source": "Person00041", "label": "hasVisit", "properties": { "startTime": [1646168289], "visitDate": [20220301], "endTime": [1646179199] }, "target": "Place00032" }] } } 状态码: 400 响应失败示例 Http Status Code: 400 { "errorMessage": "Dynamic Analysis is not supported in this instance. Please build dynamic graph instance", "errorCode": "GES.9001" }
  • 响应参数 表6 响应参数说明 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 data Json 结果详情数据,具体请参见data参数说明。 表7 data参数说明 参数 类型 说明 vertices List 结果包含的点集合。 edges List 结果包含的边集合。
  • 请求样例 观察某些节点群体结构的动态演化过程,算法名称为temporal_graph,动态分析的开始时间为${startTime},结束时间为${endTime}。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis { "algorithmName":"temporal_graph", "dynamicRange":{ "start":"${startTime}", "end":"${endTime}", "time_props":{"stime":"${property(start_time)}","etime":"${property(start_time)}"} }, "parameters":{ "sources":[], "temporal_vertex":false } }
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 path List 最短路径,格式: [vertexId,...] 其中, vertexId:string类型。 source String 起点ID。 target String 终点ID。
  • 响应示例 状态码: 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":"shortest_path_of_vertex_sets", "parameters":{ "sources: "145,78,77,76", "targets": "23,32", "directed": true } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 sources 是 String 起点ID集合,标准csv格式,ID之间以英文逗号分隔,例如:"Alice,Nana",个数不大于100000。 targets 是 String 终点ID集合标准csv格式,ID之间以英文逗号分隔,例如:"Mike,Amy",个数不大于100000。 directed 否 Boolean 是否考虑边的方向。取值为true或false。默认取值为false。 说明: 当数据集不包含inedge时,若directed=true,选择一个不依赖于Inedge的算法实现版本计算输出,性能会下降;若directed=false,会报错。
  • 响应示例 状态码: 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": "247f395d813e53804b022df6306ca4160000382489090", "data": [ { "row": [ "247f395d813e53804b022df6306ca4160000382489090" ], "meta": [ null ] } ] } ], "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}/transaction/{commit} { "statements": [{ "statement": "match (n) return n limit 1", "parameters": {}, "resultDataContents": ["row"], "includeStats": false }] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 results List 一个List,每个元素是一条Cypher语句的返回结果。 errors List 一个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。 jobType(2.3.10) Integer 请求为异步执行模式下,该字段用于输出异步任务的类型。 表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 Int 删除的边数目。 labels_set Integer 设置的label数目。 properties_set Integer 设置的属性数目。 vertices_created Integer 创建的点数目。 vertices_deleted Integer 删除的点数目。
  • 请求参数 表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。 在语句前可以添加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请求造成的所有改动。
  • 请求示例 执行指定的自定义操作,该自定义操作使用的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')\"}" }
  • 响应示例 状态码: 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." }
  • 标签传播(label_propagation)(2.1.8) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 convergence 否 收敛精度。 Double 0~1,不包括0和1。 0.00001 max_iterations 否 最大迭代次数。 Integer 最大迭代次数。API调用限制为[1,2147483647],前端调用限制为[1,2000],默认值为1000。 1000 initial 否 点上用作初始化标签的属性名称 String 空或字符串。 空:每个节点各自分配一个特有的初始化标签;适用于事先没有任何节点标注信息的情况。 字符串:将节点的对应的属性字段取值作为初始化标签(类型为string,对于未知标签的点,初始化标签字段赋空);适用于已标注部分节点标签,预测未知节点标签的情况。 说明: 当initial取值为“字符串”时,其中具有初始化标签的点的数量应大于0,小于点总数。 - weight 否 边上权重 String 空或字符串。 空:边上的权重、距离默认为“1”。 字符串:对应的边上的属性将作为权重,当某边没有对应属性时,权重将默认为“1”。 说明: 边上权重应大于0。 空 关于迭代次数(max_iterations)和收敛精度(convergence)参数如何调节,请参考迭代次数和收敛精度的关系。 表2 reponse_data参数说明 参数 类型 说明 community List 各节点对应的社团(community),格式: [{vertexId:communityId},...] 其中, vertexId: string类型 communityId: string类型 父主题: 算法API参数参考
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 job_id String 删除图任务ID。请求失败时字段为空。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。
  • URI DELETE /v2/{project_id}/graphs/{graph_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_id 是 String 图ID。 表2 Query参数 参数 是否必选 参数类型 描述 keep_backup 否 Boolean 删除图后是否保留备份,默认保留1个自动备份和2个手动备份。该查询参数为空时,表示不保留。 delete_eip 否 Boolean 是否同时删除EIP。
  • 响应示例 状态码: 400 成功响应示例 { "schema_count" : 2, "schema_list" : [ { "start_time" : "2022-01-21T10:13:31", "last_update_time" : "2022-01-21T10:13:31", "master_key_name" : "Autouse_No_Delete", "name" : "schema_748e", "master_key_id" : "106be30a-733d-45d0-84f3-1c5439381313", "description" : "xxxxx", "id" : "6634c50e-13aa-4395-8088-6b327f7da694", "metadata_path" : "devdata/schema_748e.xml", "status" : "200" }, { "start_time" : "2022-04-12T03:15:17", "last_update_time" : "2022-11-16T08:18:32", "name" : "unionsdk_schema", "id" : "6b74069d-3cf3-4cc0-9118-2478e23b87aa", "metadata_path" : "devdata/unionsdk/unionsdk_schema.xml", "status" : "200" } ] } 状态码: 500 失败响应示例 { "error_code" : "GES.7006", "error_msg" : "The underlying graph engine has internal error." }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 schema_count Integer 元数据返回个数。请求失败时,字段为空。 schema_list Array of schema_list objects 当前project_id下的所有元数据列表。请求失败时,字段为空。 表5 schema_list 参数 参数类型 描述 id String 元数据 ID。 name String 元数据名称。 start_time String 元数据创建时间。 last_update_time String 元数据最后更新时间。 master_key_name String 秘钥名称。 master_key_id String 秘钥id。 description String 元数据描述。 metadata_path String 元数据对应路径。 status String 元数据是否可用。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询节点任务ID。请求失败时字段为空。 jobType String 执行该异步任务的jobType。
共100000条
提示

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