华为云用户手册

  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 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" }
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 convergence 否 Double 收敛精度,取值范围为(0,1),默认值为0.00001。 max_iterations 否 Integer 最大迭代次数。API调用限制为[1,2147483647],前端调用限制为[1,2000],默认值为100。 weight 否 String 边上权重。取值为:空或字符串,当图中的边没有配置该属性时,算法会报错。 空:边上的权重、距离默认为1。 字符串:对应的边上的属性将作为权重。
  • 查询结果 请求示例 GET http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{jobId}/status?limit=limit 查询结果响应 表4 reponse_data参数说明 参数 类型 说明 paths List source节点和target节点之间的路径,格式:[[path1],[path2]] 其中,[path1] 是形如[vertexId,...]的List,vertexId为String类型。 paths_number Integer 路径个数。 source String 起点ID。 target String 终点ID。
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 jobType Integer 任务类型。请求失败时,字段为空。
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 source 是 String 输入路径的起点ID。 target 是 String 输入路径的终点ID,不等于source。 directed 否 Boolean 是否考虑边的方向。取值为true或false。 说明: false当前版本在有权图上不支持。 当数据集不包含inedge时,若directed=true,选择一个不依赖于Inedge的算法实现版本计算输出,性能会下降;若directed=false,会报错。 n 否 Integer 路径个数,取值范围[1,100] ,默认值为10。 k 否 Integer 层数,取值范围[1,10],默认值为5。
  • 响应示例 状态码: 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" }
  • 请求示例 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm { "algorithmName":"n_paths", "parameters": { "source":"129", "target":"78", "directed": "false", "n": "50", "k": "3" } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求示例 更新label,label的名称为book,label有一个待更新的属性。 POST /ges/v1.0/{project_id}/graphs/{graph_name}/schema?label={labelName} { "type": "vertex", "properties": [ { "property": { "name": "Title", "cardinality": "single", "dataType": "string" } }, { "property": { "name": "Version", "cardinality": "single", "dataType": "string" } } ] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result": "success" } 状态码: 400 失败响应示例 HttpStatusCode: 400 { "errorMessage": "Graph [ {project_id} -movie1] does not exist, please check project_id and graph_name.", "errorCode": "GES.8000", "result": "failed" }
  • 请求示例 请求示例1:取消已经提交的某个作业。 DELETE http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/jobs/{job_id} 请求示例2:取消全部排队中的作业。 DELETE http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/jobs SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求示例 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/algorithm { "algorithmName":"pagerank", "parameters":{ "alpha":0.85, "convergence":0.00001, "max_iterations":1000, "directed":true }, "output": { "format": "TXT", "mode": "FULL" } }
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,该字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。
  • 点集共同邻居(common_neighbors_of_vertex_sets)(2.2.13) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources(2.2.6) 是 起点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - targets(2.2.6) 是 终点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Mike,Amy”。 个数不大于100000。 - restricted(2.2.13) 否 是否带其他约束 Boolean true或false。 false:不带额外约束,即找到的共同邻居为起点集和终点集对应邻域的交集。 true,带额外约束,这里指找到的共同邻居不仅是起点集和终点集邻域的交集,同时共同邻居集合中的每个点都至少有2个以上邻居节点在起点集和终点集中。 true 表2 response_data参数说明 参数 类型 说明 vertices List 公共邻居节点,格式: [vertexId,...], 其中, vertexId:string类型 common_neighbors Integer 公共邻居节点个数。 父主题: 算法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 删除的点数目。
  • 请求示例 执行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.14版本开始支持。 block执行器自2.4.1版本开始支持。 与map执行器相比,slotted执行器和block执行器在语句的计划生成阶段完成了更多的语句数据流分析,在大部分情况下执行速度更快,占用内存更少。 executionMode(2.2.23) 否 String 执行模式。同步执行模式填写“sync”,异步执行填写“async”,不写默认同步执行。异步模式下,获取查询结果参见查询Job状态。 limit(2.2.23) 否 Int 该字段仅在异步模式下生效,表示对异步结果的最大结果数限制,默认值为100000。 在语句前可以添加explain和profile前缀,用于显示查询计划: explain只显示查询计划,不执行语句。explain前缀2.2.20版本开始支持。 profile显示查询计划,并执行语句。profile前缀2.3.12版本开始支持。 在异步模式(executionMode参数值为async)下,支持cypher查询结果以csv格式导出到文件(GES版本2.3.4及以上支持该功能),详情请参考导出job返回结果到文件(2.2.1)。目前支持下列对象的返回: 点边单值属性、点边id、分组计数结果等值类型。 对于对象类型,目前的版本暂不支持导出,csv中视作空值处理。
  • 响应示例 状态码: 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", "jobType" ], "jobId": "b64a5846-e306-4f87-b0f1-d595ee2a9910", "jobType": 1, "data": [ { "row": [ "b64a5846-e306-4f87-b0f1-d595ee2a9910", 1 ], "meta": [ null, null ] } ] } ], "errors": [] } 状态码: 400 失败响应示例 Http Status Code: 400 { "results": [], "errors": [ { "code": "GES.8904", "message": "Label index in vertices is not found." } ] }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。详情请参考各算法参数描述。 dynamicRange 是 dynamicRange Object 动态分析时间参数。 表3 parameters 参数 是否必选 类型 说明 source 是 String 起点id。 targets 是 String 终点id集合。csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。个数不大于100000,默认值为1000。 directed 否 Boolean 是否考虑边的方向,取值为true 或false,默认值为false。 k 否 Integer 最大深度,取值范围在1-100,包括1和100,默认值为3。 strategy 否 String 运行的算法策略。取值为:shortest,foremost,fastest。 (注:fastest暂不支持) 默认值为shortest。 shortest:运行shortest temporal paths算法,返回距离最短的时序路径 foremost:运行foremost temporal paths算法,返回尽可能早的到达目标节点的时序路径 fastest:运行fastest temporal paths算法,返回耗费时间最短的时序路径 表4 dynamicRange 参数 是否必选 类型 说明 start 是 Date/ Integer 动态分析起始时间。 end 是 Date/ Integer 动态分析终止时间 。 time_props 是 time_props Object 动态分析的时间属性定义。 表5 time_props 参数 是否必选 类型 说明 stime 是 String 开始时间属性名称。 etime 是 String 结束时间属性名称 。
  • 响应示例 状态码: 200 响应成功示例 { "data": { "outputs": { "data_return_size": 1, "direct": 1, "runtime": 0.00011, "temporal_paths": [ [{ "Person00014": { "arrive": 1646092800, "dist": 0, "predecessor": "" } }, { "Place00016": { "arrive": 1647169795, "dist": 1, "predecessor": "Person00014" } }] ], "data_offset": 0, "data_total_size": 1 } } } 状态码: 400 响应失败示例 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8402" }
  • 请求示例 指定起始节点id搜索周围与之相关联的点,算法名称为temporal_paths,动态分析的开始时间为1646092800,结束时间为1646170716,起点id为Person00014。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis { "algorithmName":"temporal_paths", "dynamicRange":{ "start":1646092800, "end":1646170716, "time_props": {"stime":"startTime","etime":"endtime"} }, "parameters":{ "source":" Person00014", "targets":"Person00055,Person00058,Person00052,Person00061,Person00060,Place00032,Place00016,Place00026,Place00015,Place00043", "strategy":"shortest", "directed":true } }
  • 点集最短路(Shortest Path of Vertex Sets)(1.0.0) 表1 Parameter参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources 是 起点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - targets 是 终点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - directed 否 是否考虑边的方向 Boolean true或false false 表2 response_data参数说明 参数 类型 说明 path List 最短路径,格式: [vertexId,...] 其中, vertexId:string类型 source String 起点ID target String 终点ID 父主题: 算法API
  • 点集共同邻居(common_neighbors_of_vertex_sets) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources(2.2.6) 是 起点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - targets(2.2.6) 是 终点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Mike,Amy”。 个数不大于100000。 - restricted(2.2.13) 否 是否带其他约束 Boolean true或false。 false:不带额外约束,即找到的共同邻居为起点集和终点集对应邻域的交集。 true,带额外约束,这里指找到的共同邻居不仅是起点集和终点集邻域的交集,同时共同邻居集合中的每个点都至少有2个以上邻居节点在起点集和终点集中。 true 表2 response_data参数说明 参数 类型 说明 vertices List 公共邻居节点,格式: [vertexId,...], 其中, vertexId:string类型 common_neighbors Integer 公共邻居节点个数。 父主题: 算法API参数参考
  • 请求示例 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/ algorithm { "algorithmName": "subgraph_matching", "parameters": { "edges": "1,2\n2,3\n3,4\n5,6\n5,4", "vertices": "1,movie\n2,user\n3,user\n4,user\n5,user\n6,user", "statistics": "true", "directed": "true", "n": 55, "batch_number": "500" } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 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" }
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 jobType Integer 任务类型。请求失败时,字段为空。
  • 查询结果 请求示例 GET http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{jobId}/status?limit=limit 查询结果响应 表4 reponse_data参数说明 参数 类型 说明 community List 各节点对应的社团,格式: [{vertexId1:communityId},{vertexId2:communityId}], 其中, vertexId:string类型,List按照vertexId排序 communityId:string类型。 备注:communityId本身无实意,使用的是HyG内部ID。
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 edges 是 String 需匹配的子图的边集,标准 CS V格式,边的起点与终点之间以英文逗号分隔,各边之间以换行符“\n”分隔,例如:“1,2\n2,3”。 vertices 是 String 需匹配的子图上各点的label, 标准CSV格式,点与其label之间以英文逗号分隔,各点与其label对之间以换行符“\n”分隔,点与sample中点相对应,例如:“1,BP\n2,FBP\n3,CP”。 n 否 Integer 限制寻找的子图的个数的上限,,取值范围[1,100000],默认值为100。 batch_number 否 Integer 每轮批量处理的个数,取值范围[1,1000000],默认值为10000。 directed 否 Boolean 是否考虑边的方向,取值为true或false,默认值为true。 statistics 否 Boolean 是否输出所有满足条件的子图的个数,取值为true或false,默认值为false。
  • 查询结果 请求示例 GET http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{jobId}/status?limit=limit 查询结果响应 表4 reponse_data参数说明 参数 类型 说明 community_num Integer 社团数量 communities List 各节点对应的社团,格式: [{vertexId1:communityIds},{vertexId2:communityIds}], 其中, vertexId:string类型 communityIds:list类型,每个元素为int类型。 log_likelihood Double 当前图生成模型计算出的模型节点之间连边的联合概率的log值,该值越大表示估计的社区数量越精准。
  • 请求参数 表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。 holdout_rate 否 Double 交叉验证所需的验证集占数据集比例,取值范围为(0,1),默认值为0.1。 node_attributes 是 String 节点属性格式。多个整形的数字用 ; 隔开。整形数字表示一个binary数组中值为1的元素的index,例如1;2;3,表示节点第1、2、3维度属性为1,其余属性为0。节点属性index大于等于0,小于10000,index数量小于等于10000。
共100000条