华为云用户手册

  • 修改label 图版本为2.3.18及以上版本支持该功能。 在图引擎编辑器左侧的元数据列表中,单击想要修改的元数据,会弹出该元数据label详情页。 可以直接修改label的属性名称、基数、数据类型等信息。 若想要隐藏或删除该属性,可以单击操作列的“隐藏”或“删除”按钮进行操作。 若您误删了某个属性或者修改有误,可以单击“复位”按钮,将会回到您上一次保存的数据状态。 修改完成,确认无误后,单击“保存”按钮进行更新。 图3 修改label
  • label的导入和导出 将当前图的元数据、点边数据集导入到OBS桶内或者从OBS桶内导出。 导入:单击元数据列表中“导入”。在弹出的窗口中,选择要导入的元数据,点边数据集,日志储存路径,边处理以及导入类型后,单击“确定”可将数据从OBS桶内导入到当前图中。 日志储存路径:用于存储导入图过程中不符合元数据定义的点、边数据集和详细日志。 边处理:包括“允许重复边”,“忽略之后的重复边”,“覆盖之前的重复边”和“重复边忽略Label”。重复边默认起点和终点相同,当考虑label时,表示边的起点、终点、label相同才为重复边。 图5 元数据的导入 导出:单击元数据列表中“导出”。在弹出的窗口中,设置要导出的元数据、点边数据集的名称和导出的路径,单击“确定”可将数据导出到OBS桶内。 图6 元数据的导出
  • 操作步骤 登录图引擎服务管理控制台,在左侧导航栏,选择“图管理”。 在图管理列表中,选择需要导入数据的图,在“操作”列选择“导入”。 图1 导入数据 在弹出的导入提示框中,选择以下参数。 图集群(持久化版图会有此项):持久化版的图在创建时会自动升级为多图集群,一个图集群下可以包含多个图实例,具体可参见多图管理(持久化版)。 元数据:可选择已有元数据或创建新的元数据,具体操作可参考创建元数据。 边数据集:选择对应的边数据集。 点数据集:选择对应的点数据集。若不选择,则以边数据集中的点作为点数据集来源。 日志存储路径:用于存储导入图过程中不符合元数据定义的点、边数据集和详细日志。存储在OBS中可能会产生费用,请及时删除。 边文件中包含SortKey(持久化版图有此选项):通过配置不同SortKey的值来区分重复边(源点,终点,Label三者都相同的边)。 边处理:包括“允许重复边”,“忽略之后的重复边”,“覆盖之前的重复边”和“重复边忽略Label”。 边处理的具体含义如下: “边处理”:重复边默认起点和终点相同,当考虑label时,表示边的起点、终点和label相同才为重复边。 “允许重复边”:表示起点到终点之间可以有多条边。 “忽略之后的重复边”:表示起点和终点之间有多条边时,仅保留最先读入的那条边。 “覆盖之前的重复边”:表示起点和终点之间有多条边时,仅保留最后读入的那条边。 “重复边忽略Label”:忽略label时,表示边的起点、终点相同即为重复边。 导入类型:包括“在线导入”和“离线导入”。 持久化版图支持多图管理需要选择图名称,不支持导入类型。 边数据集和点数据集当前仅支持英文路径和文件夹格式。 目前只支持从OBS中选择边数据集和点数据集,建议您提前将数据文件存储至OBS中,导入OBS的操作请参见OBS《快速入门》。 所选边数据文件或点数据文件中的“Label”和“Label”中“Property”的顺序需与所选元数据文件中的一致,否则会提示“所选边数据/点数据文件与元数据文件不匹配”而无法创建图。关于GES图数据的格式的具体内容可参考图数据的格式。 图数据(包含元数据、边数据集、点数据集)需按照模板中的格式导入。模板中已包含一份电影数据,可单击“下载模板”后直接导入。 单击“确定”完成导入。若导入显示失败,
  • 操作场景 图引擎服务在创建图完成后可以导入图数据,或者当您需要新增图数据时,可以利用“导入”功能进行增量导入。 当前仅支持 1.1.8 以上版本的图的增量导入功能。 为防止系统重启时,不能正常恢复导入图数据,建议在使用图期间,不要删除存储在OBS中的数据。 数据列的分隔符默认为逗号,暂不支持自定义。 导入目录下的单文件或者导入的单文件大小不能超过5GB,如果超过5GB,则会导入失败,建议把文件拆成小于5GB的多个文件后再导入。 单次导入的文件总大小(包括点、边数据集)不能超过可用内存的1/5。可用内存参考“运维监控看板”的“节点监控”中名称后缀为ges-dn-1-1和ges-dn-2-1节点可用内存(可以把鼠标悬浮在内存使用率上弹出)的最小值。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "data": { "vertices": [ { "id": "27003509_北京中央电视台大楼", "label": "tag", "properties": { "popularity": [ 0 ], "name": [ "北京中央电视台大楼" ], "alias": [ "中央电视台光华路办公区", "中央电视台总部大楼", "大裤衩", "央视总部大楼" ] } }, { "id": "39636392_八达岭长城", "label": "tag", "properties": { "popularity": [ 0 ], "name": [ "八达岭长城" ], "alias": [ "长城" ] } } ] }, "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214" }
  • 请求示例 根据批量节点ID查询节点信息,待查询的点ID数组为"27003509_北京中央电视台大楼"和"39636392_八达岭长城"。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-query { "vertices": ["27003509_北京中央电视台大楼", "39636392_八达岭长城"] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表3 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询成功时包含data字段,data字段中包含vertices查询结果。 result String 查询结果。成功时值为success,失败时值为failed。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "data":{ "vertices":[ { "id":"Ray", "label":"user", "properties":{ "Name":["雷"], "Gender":["M"], "Age":["18-24"], "Occupation":["college/grad student"], "Zip-code":["90241"] } }, { "id":"Ella", "label":"user", "properties":{ "Occupation":["other or not specified"], "Name":["埃拉"], "Zip-code":["94402"], "Gender":["F"], "Age":["25-34"] } } ], "edges":[ { "source":"Ray", "target":"Lethal Weapon", "index":"1", "label":"rate", "properties":{ "Score":[2], "Datetime":["2000-11-22 19:16:16"] } }, { "index":"0", "source":"Ella", "label":"rate", "properties":{ "Score":[5], "Datetime":["2000-11-23 02:30:29"] }, "target":"Lethal Weapon" }, { "index":"5", "source":"Ella", "label":"friends", "properties":{}, "target":"Ray" } ] } } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214" }
  • 响应参数 表3 响应Body参数说明 名称 参数类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询成功时包含data字段,data字段中包含子图查询结果。 说明: 当前支持返回的子图边数最大值为100000,超过返回最大值时,会报错。
  • 请求示例 批量更新点属性,待更新的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id=batch-update { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "properties": { "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], "ignoreError": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待更新的点数组。数组参数详见vertices参数说明。 ignoreError 否 Boolean 是否忽略批量中部分点的更新错误。默认值为false。 当值为false:表示发现导致无法更新的错误,例如待更新的点不存在则报错,不更新任何点。 当值为true:表示忽略类似错误并更新其他无错误的点属性。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 否 String 点的label。 properties 是 Json 待更新的各个属性的值。
  • URI POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id={actionId} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 actionId 是 String 操作符。 batch-update 更新该属性的值。 batch-add 添加属性的值。当属性的cardinality为single时,其操作与update一致;当cardinality为list或set时,意为向集合中添加值。 batch-del 删除属性的值。
  • 请求示例 根据批量节点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" ], "ignoreError": true } 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" }
  • 请求示例 (仅支持异步模式)导出满足过滤条件的点集合,导出路径为demo_movie/,导出文件名export_movie_and_user.csv。 POST https://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=export { "labels": [ "movies", "user" ], "vertexFilters": [ { "propertyName": "Age", "predicate": "=", "values": [ "18-24" ] } ], "exportPath": "demo_movie/", "fileName": "export_movie_and_user.csv", "obsParameters": { "accessKey": "XXXX", "secretKey": "XXXX" } }
  • 响应参数 表5 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询边任务ID。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待添加的点数组,一次最多添加1万个点。数组参数详见vertices参数说明。 overrideExists 否 Boolean 检测待插入的点是否存在,默认值为false。 当值为false时,只要有一个点存在,就会报错,且这批点均写入失败。 当值为true时,对已存在的点采取覆盖写策略。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 是 String 点的label。 properties 否 Json 各个属性的值。
  • 请求示例 批量添加点,待添加的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-add { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "label": "movie", "properties": { "movieid": [ "6" ], "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], "overrideExists": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 样例中,假设“6”这个点已存在图中,则覆盖“6”这个点的属性。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "fb74314e-a82d-41b2-8900-96e2559fa0d9000168232", "jobType": 9 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8604 " }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待添加的点数组,一次最多添加1万个点。数组参数详见vertices参数说明。 overrideExists 否 Boolean 对vertices参数中已经存在的点是否采取覆盖写策略。默认值为false。 当值为false时,会忽略已经存在的点,不做处理。 当值为true时,对vertices参数中已经存在的点采取覆盖写策略。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 是 String 点的label。 properties 否 Json 各个属性的值。
  • 请求示例 批量添加点,待添加的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-add { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "label": "movie", "properties": { "movieid": [ "6" ], "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], "overrideExists": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 样例中,假设“6”这个点已存在图中,则覆盖“6”这个点的属性。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "fb74314e-a82d-41b2-8900-96e2559fa0d9000168232", "jobType": 9 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8604 " }
  • 响应参数 表2 要素说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType String 执行该异步任务的jobType。
  • 响应参数 表4 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询节点任务ID。请求失败时字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考查询Job状态(1.0.0)-业务面。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "03e774f5-29ea-4187-9508-5435f3892ead016886200", "jobType": 1 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "Bad Request, parameter labels and vertexFilters cannot all be null", "errorCode": "GES.8203" }
  • 请求示例 删除满足过滤条件的点集合(仅支持异步模式),点类型过滤条件分别为movies和user,属性名称为Age。 POST https://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=delete { "labels": [ "movies", "user" ], "vertexFilters": [ { "propertyName": "Age", "predicate": "=", "values": [ "18-24" ] } ] }
  • URI POST /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id={actionId} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 actionId 是 String 操作符。 batch-update 更新该属性的值。 batch-add 添加属性的值。当属性的cardinality为single时,其操作与update一致;当cardinality为list或set时,意为向集合中添加值。 batch-del 删除属性的值。
  • 请求示例 批量更新点属性,待更新的点数组的点名称分别为150,6。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/properties/action?action_id=batch-update { "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "properties": { "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ], } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "data": { "vertices": [ { "id": "0", "labels": [ "movie" ], "properties": { "movie": { "movieid": [ 0 ], "title": [ "American Beauty (1999)" ], "genres": [ "Comedy|Drama" ] } } }, { "id": "51", "labels": [ "user" ], "properties": { "user": { "userid": [ 5 ], "gender": [ "F" ], "age": [ "56+" ], "occupation": [ "homemaker" ], "Zip-code": [ "46911" ] } } } ] }, "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214" }
  • 响应参数 表3 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询成功时包含data字段,data字段中包含vertices查询结果。 result String 查询结果。成功时值为success,失败时值为failed。
共100000条