更新时间:2025-07-24 GMT+08:00
分享

批量添加边(2.1.16)

功能介绍

批量添加边。

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

图名称。

请求参数

表2 Body参数说明

参数

是否必选

类型

说明

edges

edges Object

待添加边数组。

parallelEdge

parallelEdge Object

重复边处理。

createNotExists

Boolean

对于edges参数中不存在的source或target节点,是否会先添加这些点,再执行添加边操作。默认值为“false”(不影响原功能和语义)。

当值为“true”时,对于edges参数中不存在的source或target节点,会先添加这些点,再执行添加边操作。

表3 edges参数说明

参数

是否必选

类型

说明

source

String

边的source节点。

target

String

边的target节点。

label

String

边的label。

properties

Object

各个属性的值。

表4 parallelEdge参数说明

参数

是否必选

类型

说明

action

String

处理方式,取值为allow,ignore和override,默认为allow。

  • allow表示允许重复边。
  • ignore表示忽略之后的重复边。
  • override表示覆盖之前的重复边。

ignoreLabel

Boolean

重复边的定义,是否忽略Label。取值为true或者false,默认取true。

  • true 表示重复边定义不包含Label,即用<源点,终点>标记一条边,不包含Label。
  • false 表示重复边定义包含Label,即用<源点,终点,Label>标记一条边。

targetProperties

targetProperties Array

判断重复边所用的属性列表。若不为空,则会将ignoreLabel做false处理,用于包含targetProperties指定列表中属性的边的重复边定义。

(仅action取override时考虑此参数)。

说明:
  • 当前版本仅支持按属性覆盖,不支持按属性忽略,且每个标签仅有一个属性生效。
  • 对于非single类型的属性,均视为不相等。
表5 targetProperties参数说明

参数

是否必选

类型

说明

label

String

需要按属性判断重复边的label。

properties

Array

需要按属性判断重复边的property列表。当前仅支持单个属性,输入多个取第一个。

响应参数

表6 响应Body参数说明

参数

类型

说明

errorMessage

String

系统提示信息。

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

errorCode

String

系统提示信息。

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

result

String

响应结果。成功时result值为success。

请求示例

批量添加边,边的起点为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使用限制
  • 样例中,假设点46和39不在原图中,则创建46和39两个点,且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"
}

状态码

返回值

说明

202 Accepted

请求已接收,暂未处理。

400 Bad Request

请求错误。

401 Unauthorized

鉴权失败。

403 Forbidden

没有操作权限。

404 Not Found

找不到资源。

500 Internal Server Error

服务内部错误。

503 Service Unavailable

服务不可用。

错误码

请参见错误码

相关文档