Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
235 changes: 88 additions & 147 deletions content/cn/docs/clients/restful-api/vertexlabel.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ weight: 3
### 1.3 VertexLabel

假设已经创建好了 1.1.3 中列出来的 PropertyKeys
**注意:**
以下示例基于 HugeGraph Server v1.5.0 版本验证。
在创建 VertexLabel 之前,必须先创建对应的 PropertyKey。
当通过 Docker 并设置 PASSWORD 参数运行 HugeGraph 时,会自动开启认证,
此时请求需要使用 Basic Auth。

Params 说明

Expand All @@ -16,7 +21,7 @@ Params 说明
- properties: 顶点类型关联的属性类型
- primary_keys: 主键属性,当 ID 策略为 PRIMARY_KEY 时必须有值,其他 ID 策略时必须为空;
- enable_label_index:是否开启类型索引,默认关闭
- index_names:顶点类型创建的索引,详情见 3.4
- index_labels:顶点类型创建的索引,详情见 3.4
- nullable_keys:可为空的属性
- user_data:设置顶点类型的通用信息,作用同属性类型

Expand All @@ -32,17 +37,12 @@ POST http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexlab

```json
{
"name": "person",
"id_strategy": "DEFAULT",
"properties": [
"name",
"age"
],
"primary_keys": [
"name"
],
"nullable_keys": [],
"enable_label_index": true
"name": "person",
"id_strategy": "PRIMARY_KEY",
"properties": ["name", "age"],
"primary_keys": ["name"],
"nullable_keys": [],
"enable_label_index": true
}
```

Expand All @@ -56,62 +56,48 @@ POST http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexlab

```json
{
"id": 1,
"primary_keys": [
"name"
],
"id_strategy": "PRIMARY_KEY",
"name": "person2",
"index_names": [
],
"properties": [
"name",
"age"
],
"nullable_keys": [
],
"enable_label_index": true,
"user_data": {}
"id": 1,
"name": "person",
"id_strategy": "PRIMARY_KEY",
"primary_keys": ["name"],
"nullable_keys": [],
"index_labels": [],
"properties": ["name", "age"],
"status": "CREATED",
"ttl": 0,
"enable_label_index": true,
"user_data": {
"~create_time": "2025-12-16 15:08:57.458"
}
}
```

从 hugegraph-server v0.11.2 版本开始支持顶点的 TTL 功能。顶点的 TTL 是通过 VertexLabel 来设置的。比如希望 person 类型的顶点存活时间为一天,需要在创建 person VertexLabel 的时候将 TTL 字段设置为 86400000,即单位为毫秒。

```json
{
"name": "person",
"id_strategy": "DEFAULT",
"properties": [
"name",
"age"
],
"primary_keys": [
"name"
],
"nullable_keys": [],
"ttl": 86400000,
"enable_label_index": true
"name": "person",
"id_strategy": "PRIMARY_KEY",
"properties": ["name", "age"],
"primary_keys": ["name"],
"nullable_keys": [],
"ttl": 86400000,
"enable_label_index": true
}
```

另外,当顶点中带有"创建时间"的属性且希望以"创建时间"属性作为计算顶点存活时间的起点时,可以设置 VertexLabel 中的 ttl_start_time 字段。比如 person VertexLabel 有 createdTime 属性,且 createdTime 是 Date 类型的参数,希望 person 类型的顶点从创建开始存活一天的时间,那么创建 person VertexLabel 的 Request Body 如下:

```json
{
"name": "person",
"id_strategy": "DEFAULT",
"properties": [
"name",
"age",
"createdTime"
],
"primary_keys": [
"name"
],
"nullable_keys": [],
"ttl": 86400000,
"ttl_start_time": "createdTime",
"enable_label_index": true
"name": "person",
"id_strategy": "PRIMARY_KEY",
"properties": ["name", "age", "createdTime"],
"primary_keys": ["name"],
"nullable_keys": [],
"ttl": 86400000,
"ttl_start_time": "createdTime",
"enable_label_index": true
}
```

Expand All @@ -131,14 +117,12 @@ PUT http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexlabe

```json
{
"name": "person",
"properties": [
"city"
],
"nullable_keys": ["city"],
"user_data": {
"super": "animal"
}
"name": "person",
"properties": ["city"],
"nullable_keys": ["city"],
"user_data": {
"super": "animal"
}
}
```

Expand All @@ -152,26 +136,17 @@ PUT http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexlabe

```json
{
"id": 1,
"primary_keys": [
"name"
],
"id_strategy": "PRIMARY_KEY",
"name": "person",
"index_names": [
],
"properties": [
"city",
"name",
"age"
],
"nullable_keys": [
"city"
],
"enable_label_index": true,
"user_data": {
"super": "animal"
}
"id": 1,
"primary_keys": ["name"],
"id_strategy": "PRIMARY_KEY",
"name": "person",
"index_labels": [],
"properties": ["city", "name", "age"],
"nullable_keys": ["city"],
"enable_label_index": true,
"user_data": {
"super": "animal"
}
}
```

Expand All @@ -193,50 +168,23 @@ GET http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexlabe

```json
{
"vertexlabels": [
{
"id": 1,
"primary_keys": [
"name"
],
"id_strategy": "PRIMARY_KEY",
"name": "person",
"index_names": [
],
"properties": [
"city",
"name",
"age"
],
"nullable_keys": [
"city"
],
"enable_label_index": true,
"user_data": {
"super": "animal"
}
},
{
"id": 2,
"primary_keys": [
"name"
],
"id_strategy": "PRIMARY_KEY",
"name": "software",
"index_names": [
],
"properties": [
"price",
"name",
"lang"
],
"nullable_keys": [
"price"
],
"enable_label_index": false,
"user_data": {}
}
]
"vertexlabels": [
{
"id": 1,
"name": "person",
"id_strategy": "PRIMARY_KEY",
"primary_keys": ["name"],
"nullable_keys": [],
"index_labels": [],
"properties": ["name", "age"],
"status": "CREATED",
"ttl": 0,
"enable_label_index": true,
"user_data": {
"~create_time": "2025-12-16 15:08:57.458"
}
}
]
}
```

Expand All @@ -258,26 +206,19 @@ GET http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexlabe

```json
{
"id": 1,
"primary_keys": [
"name"
],
"id_strategy": "PRIMARY_KEY",
"name": "person",
"index_names": [
],
"properties": [
"city",
"name",
"age"
],
"nullable_keys": [
"city"
],
"enable_label_index": true,
"user_data": {
"super": "animal"
}
"id": 1,
"name": "person",
"id_strategy": "PRIMARY_KEY",
"primary_keys": ["name"],
"nullable_keys": [],
"index_labels": [],
"properties": ["name", "age"],
"status": "CREATED",
"ttl": 0,
"enable_label_index": true,
"user_data": {
"~create_time": "2025-12-16 15:08:57.458"
}
}
```

Expand All @@ -301,7 +242,7 @@ DELETE http://localhost:8080/graphspaces/DEFAULT/graphs/hugegraph/schema/vertexl

```json
{
"task_id": 1
"task_id": 1
}
```

Expand Down
Loading