값 유형의 제약
OntologyValueType.constraints는 ValueTypeConstraint의 배열입니다. 각 항목의 type이 적용할 제약을 정합니다.
분기 struct
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: struct. | struct |
properties | map<PropertyApiName, ValueTypeApiName> | 선택 | 구조체 속성 API 이름에서 해당 속성에 적용할 값 유형 API 이름으로 대응하는 맵입니다. |
properties의 구조
맵의 키는 PropertyApiName(string), 값은 ValueTypeApiName(string)입니다.
키: 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
camelCase 형식의 값 유형 API 이름입니다.
분기 regex
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: regex. | regex |
pattern | string | 필수 | ||
partialMatch | boolean | 필수 |
분기 unsupported
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: unsupported. | unsupported |
unsupportedType | string | 필수 | ||
params | map<UnsupportedTypeParamKey, UnsupportedTypeParamValue> | 선택 |
params의 구조
맵의 키는 UnsupportedTypeParamKey(string), 값은 UnsupportedTypeParamValue(string)입니다.
분기 array
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: array. | array |
minimumSize | integer | 선택 | ||
maximumSize | integer | 선택 | ||
uniqueValues | boolean | 필수 | ||
valueConstraint | ValueTypeConstraint | 선택 |
valueConstraint의 구조
이 절의 ValueTypeConstraint를 다시 사용합니다.
분기 length
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: length. | length |
minimumLength | double | 선택 | ||
maximumLength | double | 선택 |
분기 range
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: range. | range |
minimumValue | any | 선택 | 속성 자료형에 따른 JSON 값입니다. Long과 Decimal은 문자열이며 하위 호환성을 위해 일부 숫자와 boolean도 문자열로 인코딩할 수 있습니다. | |
maximumValue | any | 선택 | 속성 자료형에 따른 JSON 값입니다. Long과 Decimal은 문자열이며 하위 호환성을 위해 일부 숫자와 boolean도 문자열로 인코딩할 수 있습니다. |
분기 rid
문자열이 유효한 RID 형식이어야 합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: rid. | rid |
분기 uuid
문자열이 유효한 UUID 형식이어야 합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: uuid. | uuid |
분기 enum
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: enum. | enum |
options | list<PropertyValue> | 선택 |
options의 구조
배열 항목은 PropertyValue이며 자료형은 any입니다.
값의 JSON 표현은 속성 자료형별 JSON 표현을 따릅니다.
문자열과 배열 제약 예시
다음은 문자열 길이의 하한과 상한을 모두 3으로 지정한 제약 예시입니다.
{"type":"length","minimumLength":3,"maximumLength":3}
다음 배열 제약은 항목 수의 하한을 1, 상한을 5로 설정하고, 중복값을 허용하지 않으며 각 항목에 UUID 형식을 요구합니다.
{
"type": "array",
"minimumSize": 1,
"maximumSize": 5,
"uniqueValues": true,
"valueConstraint": {
"type": "uuid"
}
}