顶点API

所有URI均相对于 {INTERACTIVE_ADMIN_ENDPOINT}

方法

HTTP请求

描述

addVertex

POST /v1/graph/{graph_id}/vertex

向图中添加顶点

deleteVertex

DELETE /v1/graph/{graph_id}/vertex

从图中删除顶点

getVertex

GET /v1/graph/{graph_id}/vertex

通过顶点主键获取顶点属性。

updateVertex

PUT /v1/graph/{graph_id}/vertex

更新顶点属性

addVertex

Result addVertex(graphId, vertexEdgeRequest)

向图中添加顶点。

参见创建图了解如何创建图。这里我们以默认图(编号为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";
    VertexRequest vertexRequest =
        new VertexRequest()
                .label("person")
                .primaryKeyValue(8)
                .addPropertiesItem(new Property().name("name").value("mike"))
                .addPropertiesItem(new Property().name("age").value(12));
    VertexEdgeRequest vertexEdgeRequest =
            new VertexEdgeRequest()
                .addVertexRequestItem(vertexRequest);
    Result<String> addVertexResponse = session.addVertex(graphId, vertexEdgeRequest);
    if (!addVertexResponse.isOk()) {
        System.out.println("Failed to create vertex: " + addVertexResponse.getStatusMessage());
    }
    else {
        System.out.println("Create vertex response: " + addVertexResponse.getValue());
    }
    return;
  }
}

参数

名称

类型

描述

备注

graphId

String

vertexEdgeRequest

VertexEdgeRequest

返回类型

结果<String>

授权

无需授权

HTTP请求头

  • 内容类型: application/json

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

顶点创建成功

-

400

无效的输入顶点

-

404

未找到图

-

409

顶点已存在

-

500

服务器内部错误

-

getVertex

Result getVertex(graphId, label, primaryKeyValue)

通过顶点主键获取顶点的属性。

获取指定顶点的属性。示例:```http GET /endpoint?param1=value1&param2=value2 HTTP/1.1 Host: example.com ```

示例

// 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<VertexData> getVertexResponse = session.getVertex(graphId, "person", 8);
    if (getVertexResponse.isOk()){
        for (Property property : getVertexResponse.getValue().getValues()) {
            if (property.getName().equals("name")) {
                assert property.getValue().equals("mike");
            }
            if (property.getName().equals("age")) {
                // object is Integer
                assert property.getValue().equals("12");
            }
        }
    }
    else {
        System.out.println("Failed to create vertex: " + getVertexResponse.getStatusMessage());
    }
    return ;
  }
}

参数

名称

类型

描述

备注

graphId

String

图的ID

label

String

查询顶点的标签名称。

primaryKeyValue

[Object]

查询顶点的主键值。

返回类型

结果<顶点数据>

授权

无需授权

HTTP请求头

  • Content-Type: 未定义

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

找到顶点

-

400

错误的输入参数

-

404

未找到顶点或未找到图

-

500

服务器内部错误

-

updateVertex

Result updateVertex(graphId, vertexRequest)

更新顶点的属性。

示例

// 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";
    VertexRequest updateVertexRequest =
        new VertexRequest()
                .label("person")
                .primaryKeyValue(8)
                .addPropertiesItem(new Property().name("name").value("Cindy"))
                .addPropertiesItem(new Property().name("age").value(24));
    Result<String> updateVertexResponse = session.updateVertex(graphId, updateVertexRequest);
    if (updateVertexResponse.isOk()){
        System.out.println("Successfully updated vertex's property");
    }
    else {
         System.out.println("Fail to update vertex's property" + updateVertexResponse.getStatusMessage());
    }
    return ;
  }
}

参数

名称

类型

描述

备注

graphId

String

vertexRequest

VertexRequest

[可选]

返回类型

结果<String>

授权

无需授权

HTTP请求头

  • 内容类型: application/json

  • Accept: application/json

HTTP响应详情

状态码

描述

响应头

200

顶点更新成功

-

400

无效的输入参数

-

404

顶点不存在

-

500

服务器内部错误

-