更新时间:2024-05-23 GMT+08:00

批量添加边

功能介绍

批量添加边。

URI

POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-add
表1 路径参数

参数

是否必选

类型

说明

project_id

String

项目ID。获取方法请参见获取项目ID

graph_name

String

图名称。

请求参数

参数

是否必选

类型

说明

edges

Object

待添加边数组

parallelEdge

Object

重复边处理

action

String

处理方式,取值为override或ignore。

  • 取值为override时,表示覆盖之前的重复边。
  • 取值为ignore时,若边已存在,不会覆盖之前的边。若边不存在,则添加边。

ignoreLabel

Boolean

重复边的定义,是否忽略Label。取值仅支持为false。

false表示:<源点,终点,Label>三者相同的边为重复边。

createNotExists

Boolean

对于edges参数中不存在的source或target节点,是否会先添加这些点,再执行添加边操作。取值仅支持为false。

false表示:无论source或target节点是否存在,均可添加边。

表2 edges参数说明

参数

是否必选

类型

说明

source

String

边的source节点。

target

String

边的target节点。

label

String

边的label。

sortKey

String/int/null/varString

重复边的sortKey,查询时给出sortKey必须给出label,类型与创建图时的sortKey类型需一致,null除外。

properties

Object

各个属性的值。

响应参数

表3 响应Body参数说明

参数

类型

说明

errorMessage

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误信息。

errorCode

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误码。

result

String

响应结果。成功时result值为success,失败时值为failed。

请求示例

批量添加边,边的起点为46,边的终点分别为39和38,边的标签为rate,sortKey分别为3、4。

POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-add
{
    "edges": [
        {
            "source": "46",
            "target": "39",
            "label": "rate",
            "sortKey": 3,
            "properties": {
                "Rating": [
                    5
                ],
                "Datetime": [
                    "2018-01-0120:30:05"
                ]
            }
        },
        {
            "source": "46",
            "target": "38",
            "label": "rate",
            "sortKey": 4,
            "properties": {
                "Rating": [
                    4
                ],
                "Datetime": [
                    "2018-01-0120:30:05"
                ]
            }
        }
    ],
    "parallelEdge": {
        "action": "override",
        "ignoreLabel": false
    },
    "createNotExists": false
}
  • 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"
}

状态码

返回值

说明

400 Bad Request

请求错误。

401 Unauthorized

鉴权失败。

403 Forbidden

没有操作权限。

404 Not Found

找不到资源。

500 Internal Server Error

服务内部错误。

503 Service Unavailable

服务不可用。

错误码

请参见错误码