EdgeAPI

所有URI均相对于{INTERACTIVE_ADMIN_ENDPOINT}

方法

HTTP请求

描述

addEdge

POST /v1/graph/{graph_id}/edge

向图中添加边

deleteEdge

DELETE /v1/graph/{graph_id}/edge

从图中删除边

getEdge

GET /v1/graph/{graph_id}/edge

通过源顶点和目标顶点的主键获取边的属性。

updateEdge

PUT /v1/graph/{graph_id}/edge

更新边的属性

addEdge

结果 addEdge(graphId, edgeRequest)

向图中添加边。

参见创建图了解如何创建图。这里我们以默认图(编号为1)为例。

示例

// Import classes:
import com.alibaba.graphscope.interactive.models.*;
import com.alibaba.graphscope.interactive.client.Driver;
import com.alibaba.graphscope.interactive.client.Session;
import com.alibaba.graphscope.interactive.client.common.Result;

public class Example {
  public static void main(String[] args) {
    Driver driver = Driver.connect();
    Session session = driver.session();

    String graphId = "1";
    EdgeRequest edgeRequest3 =
            new EdgeRequest()
                    .srcLabel("person")
                    .dstLabel("person")
                    .edgeLabel("knows")
                    .srcPrimaryKeyValue(2)
                    .dstPrimaryKeyValue(4)
                    .addPropertiesItem(new Property().name("weight").value(9.123));
    EdgeRequest edgeRequest4 =
            new EdgeRequest()
                    .srcLabel("person")
                    .dstLabel("person")
                    .edgeLabel("knows")
                    .srcPrimaryKeyValue(2)
                    .dstPrimaryKeyValue(6)
                    .addPropertiesItem(new Property().name("weight").value(3.233));
    List<EdgeRequest> edgeRequests = new ArrayList<>();
    edgeRequests.add(edgeRequest3);
    edgeRequests.add(edgeRequest4);
    Result<String> addEdgeResponse = session.addEdge(graphId, edgeRequests);    
    if (!addEdgeResponse.isOk()) {
        System.out.println("Failed to create edge: " + addEdgeResponse.getStatusMessage());
    }
    else {
        System.out.println("Create edge response: " + addEdgeResponse.getValue());
    }
    return;
  }
}

参数

名称

类型

描述

备注

graphId

String

edgeRequest

List<EdgeRequest>

返回类型

结果<String>

授权

无需授权

HTTP请求头

  • 内容类型: application/json

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

成功插入边

-

400

无效的输入边

-

409

边已存在

-

500

服务器内部错误

-

getEdge

结果 getEdge(graphId, edgeLabel, srcLabel, srcPrimaryKeyValue, dstLabel, dstPrimaryKeyValue)

通过源顶点和目标顶点的主键获取边的属性。

示例

// Import classes:
import com.alibaba.graphscope.interactive.models.*;
import com.alibaba.graphscope.interactive.client.Driver;
import com.alibaba.graphscope.interactive.client.Session;
import com.alibaba.graphscope.interactive.client.common.Result;

public class Example {
  public static void main(String[] args) {
    Driver driver = Driver.connect();
    Session session = driver.session();

    String graphId = "1";
    Result<EdgeData> getEdgeResponse =
            session.getEdge(graphId, "knows", "person", 2, "person", 4);
    if (getEdgeResponse.isOk()){
        for (Property property : getEdgeResponse.getValue().getProperties()) {
            if (property.getName().equals("weight")) {
                Double weight = Double.parseDouble(property.getValue().toString());
                assert weight.equals(9.123);
            }
        }
    } else {
        System.out.println("Get edge failed: " + getEdgeResponse.getValue());
    }
    return;
  }
}

参数

名称

类型

描述

备注

graphId

String

edgeLabel

String

查询边的标签名称。

srcLabel

String

源顶点标签名称。

srcPrimaryKeyValue

Object

源顶点的主键值。

dstLabel

String

目标顶点的标签名称。

dstPrimaryKeyValue

Object

目标顶点主键的值

返回类型

边数据

授权

无需授权

HTTP请求头

  • Content-Type: 未定义

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

找到边

-

400

错误的输入参数

-

404

边不存在或图不存在

-

500

服务器内部错误

-

updateEdge

结果 updateEdge(graphId, edgeRequest)

更新边的属性

示例

// Import classes:
import com.alibaba.graphscope.interactive.models.*;
import com.alibaba.graphscope.interactive.client.Driver;
import com.alibaba.graphscope.interactive.client.Session;
import com.alibaba.graphscope.interactive.client.common.Result;

public class Example {
  public static void main(String[] args) {
    Driver driver = Driver.connect();
    Session session = driver.session();

    String graphId = "1";
    EdgeRequest updateEdgeRequest =
        new EdgeRequest()
                .srcLabel("person")
                .dstLabel("person")
                .edgeLabel("knows")
                .srcPrimaryKeyValue(2)
                .dstPrimaryKeyValue(4)
                .addPropertiesItem(new Property().name("weight").value(3.0));
    Result<String> updateEdgeResponse = session.updateEdge(graphId, updateEdgeRequest);
    if (!updateEdgeResponse.isOk()) {
        System.out.println("Failed to update edge: " + updateEdgeResponse.getStatusMessage());
    }
    else {
        System.out.println("Update edge response: " + updateEdgeResponse.getValue());
    }
  }
}

参数

名称

类型

描述

备注

graphId

String

edgeRequest

EdgeRequest

[可选]

返回类型

结果<String>

授权

无需授权

HTTP请求头

  • 内容类型: application/json

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

成功更新边

-

400

无效的输入参数

-

404

边不存在

-

500

服务器内部错误

-