EdgeAPI¶
所有URI均相对于{INTERACTIVE_ADMIN_ENDPOINT}
方法 |
HTTP请求 |
描述 |
|---|---|---|
POST /v1/graph/{graph_id}/edge |
向图中添加边 |
|
DELETE /v1/graph/{graph_id}/edge |
从图中删除边 |
|
GET /v1/graph/{graph_id}/edge |
通过源顶点和目标顶点的主键获取边的属性。 |
|
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 |
返回类型¶
结果<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;
}
}
参数¶
返回类型¶
授权¶
无需授权
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 |
[可选] |
返回类型¶
结果<String>
授权¶
无需授权
HTTP请求头¶
内容类型: application/json
Accept: application/json
HTTP响应详情¶
状态码 |
描述 |
响应头 |
|---|---|---|
200 |
成功更新边 |
- |
400 |
无效的输入参数 |
- |
404 |
边不存在 |
- |
500 |
服务器内部错误 |
- |