查看属性
获取一个属性的详情
// 查看点属性 @user.name
prop, _ := client.GetProperty("user", "name", ultipa.DBType_DBNODE, nil)
log.Println(prop)
创建属性
在某目标 schema 下创建一个属性
// 创建一个点属性 name
newNodeProp := &structs.Property{
Name: "name",
Type: ultipa.PropertyType_STRING,
}
resp, _ := client.CreateProperty("target_schema", ultipa.DBType_DBNODE, newNodeProp, nil)
log.Println(resp.Status.Code)
// 创建一个边属性 type
newEdgeProp := &structs.Property{
Name: "type",
Type: ultipa.PropertyType_STRING,
}
resp2, _ := client.CreateProperty("target_schema", ultipa.DBType_DBEDGE, newEdgeProp, nil)
log.Println(resp2.Status.Code)
如不存在则创建属性
创建属性时,如果该属性已存在则返回 true,不存在则返回 false 并创建该属性
isExist, _ := client.CreatePropertyIfNotExist("target_schema", ultipa.DBType_DBEDGE, newEdgeProp, nil)
log.Println(isExist)
Alter Property
// 将点属性 @user.name 改为 @user.username,并修改描述
propNode := &structs.Property{
Name: "username",
Desc: "change property name from name to username",
}
resp, _ := client.AlterNodeProperty("@user.name", propNode, nil)
log.Println(resp)
// 将边属性 @relation.category 改为 @relation.type,并修改描述
propEdge := &structs.Property{
Name: "type",
Desc: "change property name from category to type",
}
resp2, _ := client.AlterEdgeProperty("@relation.category", propEdge, nil)
log.Println(resp2)
Drop Property
// 删除点属性 @user.name
resp, _ := client.DropNodeProperty("@user.name", nil)
log.Println(resp)
// 删除边属性 @relation.category
resp2, _ := client.DropEdgeProperty("@relation.category", nil)
log.Println(resp2)