인터페이스 메타데이터
InterfaceType은 구현 객체 유형에 적용할 속성과 링크의 계약을 담습니다. properties와 links에는 해당 인터페이스에 정의한 항목을, allProperties와 allLinks에는 직접 또는 간접으로 상속한 항목까지 포함합니다.
properties 계열은 공유 속성 유형(SPT)에 기반한 속성만 다룹니다. propertiesV2 계열은 인터페이스에 직접 정의한 속성도 다룹니다. 객체 유형이 이 정의를 실제 속성과 링크에 연결하는 방법은 인터페이스 구현에서 확인합니다.
최상위 필드
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
rid | string | 필수 | 인터페이스의 고유 RID입니다. | |
apiName | string | 필수 | UpperCamelCase 형식의 인터페이스 API 이름입니다. List Interface Types 또는 Ontology Manager에서 확인합니다. | |
displayName | string | 필수 | 표시 이름입니다. | |
description | string | 선택 | 인터페이스 설명입니다. | |
properties | map<SharedPropertyTypeApiName, InterfaceSharedPropertyType> | 선택 | 공유 속성 유형 API 이름에서 해당 정의로 대응하는 맵입니다. 같은 공유 속성 유형은 이 속성 집합 안에서 고유해야 합니다. 공유 속성 유형에 기반한 속성만 포함합니다. | |
allProperties | map<SharedPropertyTypeApiName, InterfaceSharedPropertyType> | 선택 | 직접 또는 간접으로 확장한 인터페이스의 속성까지 포함하는 공유 속성 유형 맵입니다. 공유 속성 유형에 기반한 속성만 포함합니다. | |
propertiesV2 | map<InterfacePropertyApiName, InterfacePropertyType> | 선택 | 인터페이스 속성 API 이름에서 해당 정의로 대응하는 맵입니다. 공유 속성에 기반한 속성과 인터페이스에 직접 정의한 속성을 모두 포함합니다. | |
allPropertiesV2 | map<InterfacePropertyApiName, ResolvedInterfacePropertyType> | 선택 | 직접 또는 간접으로 확장한 인터페이스의 속성까지 포함하는 인터페이스 속성 맵입니다. | |
extendsInterfaces | list<InterfaceTypeApiName> | 선택 | 직접 확장한 인터페이스 API 이름 목록입니다. 확장한 인터페이스의 속성을 상속합니다. | |
allExtendsInterfaces | list<InterfaceTypeApiName> | 선택 | 직접 및 간접으로 확장한 모든 인터페이스 API 이름 목록입니다. | |
implementedByObjectTypes | list<ObjectTypeApiName> | 선택 | 이 인터페이스를 구현하는 객체 유형 API 이름 목록입니다. | |
links | map<InterfaceLinkTypeApiName, InterfaceLinkType> | 선택 | 인터페이스 링크 API 이름에서 링크 정의로 대응하는 맵입니다. | |
allLinks | map<InterfaceLinkTypeApiName, InterfaceLinkType> | 선택 | 직접 및 간접으로 확장한 인터페이스의 링크까지 포함하는 링크 맵입니다. |
공유 속성 기반 정의
properties와 allProperties의 키는 공유 속성 유형 API 이름이며, 값은 InterfaceSharedPropertyType입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
rid | string | 필수 | 공유 속성 유형의 고유 식별자입니다. | |
apiName | string | 필수 | lowerCamelCase 형식의 공유 속성 유형 API 이름입니다. List Shared Property Types 또는 Ontology Manager에서 확인합니다. | |
displayName | string | 필수 | 표시 이름입니다. | |
description | string | 선택 | 공유 속성 유형의 설명입니다. | |
dataType | PropertyDataType | 필수 | 온톨로지 객체 속성의 자료형입니다. | |
valueTypeApiName | string | 선택 | camelCase 형식의 값 유형 API 이름입니다. | |
valueFormatting | PropertyValueFormatting | 선택 | UI에서 속성값을 표시하는 형식입니다. 실험적 기능이므로 향후 바뀔 수 있습니다. 숫자의 단위, 비율과 축약, 날짜와 시각의 패턴, boolean 표시 문자열 및 Foundry 식별자 형식을 지정합니다. | |
required | boolean | 필수 | 각 구현 객체 유형이 이 속성의 구현을 선언해야 하는지 나타냅니다. | |
typeClasses | list<TypeClass> | 선택 |
dataType의 구조
전체 분기와 중첩 필드는 속성 자료형을 따릅니다.
valueFormatting의 구조
선택한 표시 형식의 필드는 속성값의 표시 형식을 따릅니다.
typeClasses의 구조
배열 항목은 TypeClass이며 자료형은 object입니다.
온톨로지를 사용하는 애플리케이션이 해석할 수 있는 추가 메타데이터입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
kind | string | 필수 | 타입 클래스의 네임스페이스입니다. | |
name | string | 필수 | 타입 클래스의 값입니다. |
직접 정의와 공유 속성 정의
propertiesV2의 키는 인터페이스 속성 API 이름입니다. 값인 InterfacePropertyType은 다음 두 분기 중 하나입니다.
분기 interfaceDefinedPropertyType
구현 객체 속성이 충족할 제약을 포함하는 인터페이스 속성 유형입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: interfaceDefinedPropertyType. | interfaceDefinedPropertyType |
rid | string | 필수 | 인터페이스 속성 유형의 고유 RID입니다. | |
apiName | string | 필수 | lowerCamelCase 형식의 인터페이스 속성 API 이름입니다. List Interface Types의 allPropertiesV2 또는 Ontology Manager에서 확인합니다. | |
displayName | string | 필수 | 표시 이름입니다. | |
description | string | 선택 | 인터페이스 속성 유형의 설명입니다. | |
dataType | PropertyDataType | 필수 | 온톨로지 객체 속성의 자료형입니다. | |
valueTypeApiName | string | 선택 | camelCase 형식의 값 유형 API 이름입니다. | |
requireImplementation | boolean | 필수 | 각 구현 객체 유형이 이 속성의 구현을 선언해야 하는지 나타냅니다. | |
typeClasses | list<TypeClass> | 선택 |
dataType의 구조
전체 분기와 중첩 필드는 속성 자료형을 따릅니다.
typeClasses의 구조
배열 항목은 TypeClass이며 자료형은 object입니다.
온톨로지를 사용하는 애플리케이션이 해석할 수 있는 추가 메타데이터입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
kind | string | 필수 | 타입 클래스의 네임스페이스입니다. | |
name | string | 필수 | 타입 클래스의 값입니다. |
분기 interfaceSharedPropertyType
모든 구현 객체 유형이 구현해야 하는지 나타내는 필드를 더한 공유 속성 유형입니다.
type은 필수이며 값은 interfaceSharedPropertyType입니다. 나머지 필드는 공유 속성 기반 정의의 InterfaceSharedPropertyType과 같습니다.
상속을 포함한 속성 정의
allPropertiesV2의 키는 인터페이스 속성 API 이름이고, 값은 ResolvedInterfacePropertyType입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
rid | string | 필수 | 인터페이스 속성 유형의 고유 RID입니다. | |
apiName | string | 필수 | lowerCamelCase 형식의 인터페이스 속성 API 이름입니다. List Interface Types의 allPropertiesV2 또는 Ontology Manager에서 확인합니다. | |
displayName | string | 필수 | 표시 이름입니다. | |
description | string | 선택 | 인터페이스 속성 유형의 설명입니다. | |
dataType | PropertyDataType | 필수 | 온톨로지 객체 속성의 자료형입니다. | |
valueTypeApiName | string | 선택 | camelCase 형식의 값 유형 API 이름입니다. | |
valueFormatting | PropertyValueFormatting | 선택 | UI에서 속성값을 표시하는 형식입니다. 실험적 기능이므로 향후 바뀔 수 있습니다. 숫자의 단위, 비율과 축약, 날짜와 시각의 패턴, boolean 표시 문자열 및 Foundry 식별자 형식을 지정합니다. | |
requireImplementation | boolean | 필수 | 각 구현 객체 유형이 이 속성의 구현을 선언해야 하는지 나타냅니다. |
dataType의 구조
전체 분기와 중첩 필드는 속성 자료형을 따릅니다.
valueFormatting의 구조
선택한 표시 형식의 필드는 속성값의 표시 형식을 따릅니다.
링크 정의
links와 allLinks의 키는 인터페이스 링크 API 이름이고, 값은 InterfaceLinkType입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
rid | string | 필수 | 인터페이스 링크 유형의 고유 RID입니다. | |
apiName | string | 필수 | 인터페이스 링크 유형의 API 이름입니다. Ontology Manager에서 확인합니다. | |
displayName | string | 필수 | 표시 이름입니다. | |
description | string | 선택 | 인터페이스 링크 유형의 설명입니다. | |
linkedEntityApiName | union<objectTypeApiName, interfaceTypeApiName> | 필수 | 연결 대상 엔터티의 참조이며 객체 유형 또는 인터페이스 유형입니다. | |
cardinality | enum | 필수 | 이 방향의 링크 카디널리티입니다. ONE은 0개 또는 1개, MANY는 여러 객체를 연결할 수 있음을 나타냅니다. 허용값: ONE, MANY. | |
required | boolean | 필수 | 각 구현 객체 유형이 이 인터페이스 링크의 구현을 하나 이상 선언해야 하는지 나타냅니다. |
linkedEntityApiName의 구조
분기 objectTypeApiName
연결 대상 객체 유형의 참조입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: objectTypeApiName. | objectTypeApiName |
apiName | string | 필수 | 카멜 표기법의 객체 유형 API 이름입니다. 실제 이름과 대소문자는 List Object Types 또는 Ontology Manager에서 확인합니다. |
분기 interfaceTypeApiName
연결 대상 인터페이스 유형의 참조입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: interfaceTypeApiName. | interfaceTypeApiName |
apiName | string | 필수 | UpperCamelCase 형식의 인터페이스 API 이름입니다. List Interface Types 또는 Ontology Manager에서 확인합니다. |
구현 요구와 객체의 값
속성의 required 또는 requireImplementation이 true이면 각 구현 객체 유형이 해당 속성의 구현을 선언해야 합니다. 링크의 required가 true이면 링크 구현을 하나 이상 선언해야 합니다. 이는 유형 정의에 적용되는 조건입니다. 개별 객체의 속성값에 적용되는 null 허용 여부는 속성 데이터 제약을 함께 확인합니다.
링크의 ONE은 연결된 객체가 0개 또는 1개일 수 있다는 뜻이고, MANY는 여러 객체를 연결할 수 있다는 뜻입니다. 객체 조회의 실행 한도는 사용하는 API의 조건을 따릅니다.