华为云用户手册

  • 请求示例 执行指定的自定义操作,该自定义操作使用的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." }
  • 请求示例 (不包括图规格为持久化版)列出满足过滤条件的第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协议的版本,无法完成处理。 父主题: 附录
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 关闭图任务ID。请求失败时为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考任务中心API。
  • URI POST /v1.0/{project_id}/graphs/{graph_id}/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_id 是 String 图ID。 表2 Query参数 参数 是否必选 参数类型 描述 action_id 是 String 图actionId。 枚举值: stop
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 启动图任务ID。请求失败时字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考任务中心API。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表4 请求Body参数 参数 是否必选 参数类型 描述 graph_backup_id 否 String 启动图时关联的备份ID,设置此参数时,表示从备份进行启动;如果为空,表示从上次关闭图时的状态启动。可参考新增备份(1.0.0)进行备份。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 jobId String 删除图任务ID。请求失败时字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考任务中心API。 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。
  • URI POST /v1.0/{project_id}/graphs/{graph_id}/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_id 是 String 图ID。 表2 Query参数 参数 是否必选 参数类型 描述 action_id 是 String 图actionId。 枚举值:start
  • URI DELETE /v1.0/{project_id}/graphs/{graph_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_id 是 String 图ID。 表2 Query参数 参数 是否必选 参数类型 描述 keepBackup 否 Boolean 删除图后是否保留备份,默认保留1个自动备份和2个手动备份。该查询参数为空时,表示不保留。
  • 响应示例 状态码: 200 OK { "graph": { "id": "f1529b88-c958-493e-8452-fccfe932cde1", "name": "demo", "regionCode": "cn-north-1", "azCode": "cn-north-1a", "schemaPath": [ { "path": "ges-graphs/demo_movie/schema.xml", "jobId": "ff80808167bb90340167bc7445670428", "status": "success" } ], "edgesetPath": [ { "path": "ges-graphs/demo_movie/edge.csv", "jobId": "ff80808167bb90340167bc7445670428", "status": "success" } ], "vertexsetPath": [ { "path": "", "jobId": "ff80808167bb90340167bc7445670428", "status": "success" } ], "status": "200", "graphSizeTypeIndex": "1", "vpcId": "2d8af840-fd57-4e3b-a8f1-cda0f55ccd99", "subnetId": "dc018ec3-67d1-46c9-b2fc-19d83367f4e2", "securityGroupId": "11d27338-8649-4076-8579-5ebc1a60f79e", "created": "2018-07-23T04:09:44", "privateIp": "192.168.0.4", "publicIp": "49.4.81.183", "dataStoreVersion": "1.0.5", "arch": "x86_64" }}
  • 请求示例 查询满足过滤条件的顶点集合,请求的起始位置为0,每页资源数量的最大值为2,用于过滤的属性条件为movie和user,用于过滤的属性名为Age。 POST https://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=query { "offset":0, "limit":2, "labels": ["movies", "user"], "vertexFilters":[{ "propertyName":"Age", "predicate":"=", "values":["18-24"] } ]} SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 vertexFilters样例1, [ { "propertyName":"Gender", "predicate":"=", "values":["F"] }, { "propertyName":"Age", "predicate":"range", "values":["18-24","56+"], "type":"or" }] vertexFilters样例2(full_text_combination) "vertexFilters": [ { "propertyName": "propertyName", "predicate": "full_text_combination", "values": [ { "propertyName": "movieid", "value": "0" }, { "propertyName": "title", "value": "american" } ] } ] 当predicate为“full_text_match”、“full_text_prefix”、“full_text_wildcard”、“full_text_regexp”和“full_text_fuzzy”、“full_text_combination”时,vertexFilters列表中只能有一个元素,即不能有多层过滤并列存在。labels参数不可以同时出现。当predicate为“full_text_combination”时,最外层的propertyName直接设置为“propertyName”即可, values不再是简单的string类型列表,values的每个元素有“propertyName”和“value”两个成员。如果您想使用以上全文索引的能力,需要预先调用创建全文索引的API。
  • 响应参数 表5 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询节点任务ID。请求失败时字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考查询Job状态(1.0.0)-业务面。 jobType String 执行该异步任务的jobType。
  • 响应示例 状态码: 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"}
  • 响应参数 表5 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 查询边任务ID。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType String 执行该异步任务的jobType。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200{ "jobId": "f9987cab-64d3-4b3d-ac43-e91ae0c21bef168127124", "jobType": 0} 状态码: 400 失败响应示例 Http Status Code: 400{ "errorMessage": "Bad Request, parameter labels and edgeFilters cannot all be null", "errorCode": "GES.8103"}
  • URI GET /ges/v1.0/{project_id}/graphs/{graph_name}/vertices/detail?vertexIds={vertex_ids} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 vertex_ids 是 String 需要查询的节点id列表。当vertexIds指定多个id时,URL中用“,”隔开。 说明: 图规格为持久化版规格的图暂时仅支持一个id。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200{ "data": { "vertices": [ { "id": "Ray", "label": "user", "properties": { "Occupation": [ "college/grad student" ], "Name": [ "雷" ], "Zip-code": [ "90241" ], "Gender": [ "M" ], "Age": [ "18-24" ] } } ] }} 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8204" }
  • 响应示例 状态码: 200 成功响应示例(不包括图规格为持久化版) Http Status Code: 200{ "data": { "edges": [ { "index": "6", "source": "Ray", "label": "rate", "properties": { "Score": [ 3 ], "Datetime": [ "2000-11-22 19:23:05" ] }, "target": "Rocky" } ] }} 成功响应样例(持久化版) { "data": { "edges": [ { "source": "46", "target": "39", "label": "rate", "sortKey": 5, "properties": { "Rating": [ 5 ], "Datetime": [ "2018-01-0120:30:05" ] } } ] }, "result": "success"} 状态码: 400 失败响应示例 Http Status Code: 400{"errorMessage":"graph [demo] is not found","errorCode":"GES.8107"}
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 sourceVertex 是 String 边的起点。 targetVertex 是 String 边的终点。 index 否 Integer 边的标识号,若不设置,则查询source、target之间所有的边。 说明: 图规格为持久化版的图,暂不支持该参数。 label(持久化版) 否 String 边的label值。 sortKey(持久化版) 否 String 用来区分重复边,重复边指的是:sourceVertex(边的起点),targetVertex(边的终点)和 label都相同的边。 sortKeyType(持久化版) 否 String sortKey的类型,取值为int/string/null。例如:sortkeyType=int,当sortKey被传入时,此参数为必选。
  • 响应参数 表3 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询结果。查询成功时显示结果,若查询失败时,字段为空。 表4 data参数说明 参数 是否必选 类型 说明 edges 是 List 边的结果集合。没有查询到对应边时,edges内容为空。
  • 请求示例 请求样例(不包括图规格为持久化版) GET http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/detail?source=Ray&target=Rocky&index=6 请求样例(持久化版) GET/ges/v1.0/{project_id}/graphs/{graph_name}/edges/detail? source=46&&target=39&&label=rate&&sortKey=5&&sortKeyType=int SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • URI (不包括图规格为持久化版) GET /ges/v1.0/{project_id}/graphs/{graph_name}/edges/detail?source={sourceVertex}&target={targetVertex}&index={index} URI (持久化版) GET/ges/v1.0/{project_id}/graphs/{graph_name}/edges/detail?source={sourceVertex}&target={targetVertex}&label={label}&sortKey={sortKey}&sortKeyType={sortKeyType}
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询结果。请求失败时,该字段为空。 表3 data参数说明 参数 类型 说明 vertexNum Integer 图的点数。 edgeNum Integer 图的边数。 labelDetails(2.2.14) Object 不同label下的点边数目信息。若需要正常显示此字段,请按照表 labelDetails数据各要素说明建立点边索引。 表4 执行成功时,labelDetails数据各要素说明 参数 类型 说明 labelInVertex Object 不同label下面点的数目,若某label下点的数目为0则不显示。 若需要响应中包含该要素,请参考新建索引,新建索引时索引类型为"GlobalCompositeVertexIndex ",hasLabel为"true",属性列表置空。 labelInEdge Object 不同label下面边的数目,若某label下边的数目为0则不显示。 若需要响应中包含该要素,请参考新建索引,新建索引时索引类型为"GlobalCompositeEdgeIndex ",hasLabel为"true",属性列表置空。 errorMessage String 系统提示信息。 执行成功时,字段为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段为空。 执行失败时,用于显示错误码。
共100000条