객체 유형의 인터페이스 구현
ObjectTypeFullMetadata.implementsInterfaces는 구현한 인터페이스 이름 목록입니다. implementsInterfaces2는 인터페이스 이름에서 실제 구현 정보로 대응하는 맵입니다.
속성 매핑의 방향
properties는 공유 속성 유형 API 이름을 키로, 기반 로컬 속성 API 이름을 값으로 사용합니다.propertiesV2는 인터페이스 속성 API 이름을 키로, 구현 방식을 나타내는 객체를 값으로 사용합니다.- 최상위
sharedPropertyTypeMapping도 공유 속성 유형 이름에서 기반 로컬 속성 이름으로 대응합니다.
공유 속성 personName과 인터페이스 속성 name을 로컬 fullName에 연결한 예시입니다.
{
"properties":{"personName":"fullName"},
"propertiesV2":{
"name":{"type":"localPropertyImplementation","propertyApiName":"fullName"}
}
}
구현과 권한
인터페이스 속성은 로컬 속성, 로컬 구조체 필드, 구조체 필드별 매핑 또는 리듀서를 적용한 구현으로 표현합니다. reducedPropertyImplementation의 내부 implementation은 기본 세 분기만 허용하므로 리듀서 구현을 임의 깊이로 다시 중첩하지 않습니다.
links는 인터페이스 링크 이름을 하나 이상의 실제 링크 API 이름에 연결합니다. actionTypes는 인터페이스 액션 제약 이름을 구체적인 액션 유형 이름에 연결하며 호출자에게 접근 권한이 없는 액션은 생략합니다.
전체 필드
객체 유형이 구현하는 인터페이스의 API 이름에서 구현 정보로 대응하는 맵입니다.
맵의 키는 InterfaceTypeApiName(string), 값은 ObjectTypeInterfaceImplementation(object)입니다.
키: UpperCamelCase 형식의 인터페이스 API 이름입니다. List Interface Types 또는 Ontology Manager에서 확인합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
apiName | string | 선택 | UpperCamelCase 형식의 인터페이스 API 이름입니다. List Interface Types 또는 Ontology Manager에서 확인합니다. | |
rid | string | 선택 | 인터페이스의 고유 RID입니다. | |
properties | map<SharedPropertyTypeApiName, PropertyApiName> | 선택 | ||
propertiesV2 | map<InterfacePropertyApiName, InterfacePropertyTypeImplementation> | 선택 | ||
links | map<InterfaceLinkTypeApiName, array> | 선택 | ||
actionTypes | map<InterfaceActionTypeConstraintApiName, ActionTypeApiName> | 선택 | 인터페이스 액션 제약의 API 이름에서 구현한 구체적인 액션 유형 API 이름으로 대응하는 맵입니다. 호출자에게 접근 권한이 없는 액션 유형은 생략하므로 모든 선언된 제약을 포함하지 않을 수 있습니다. |
properties의 구조
맵의 키는 SharedPropertyTypeApiName(string), 값은 PropertyApiName(string)입니다.
키: lowerCamelCase 형식의 공유 속성 유형 API 이름입니다. List Shared Property Types 또는 Ontology Manager에서 확인합니다.
속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
propertiesV2의 구조
맵의 키는 InterfacePropertyApiName(string), 값은 InterfacePropertyTypeImplementation(union<structFieldImplementation, structImplementation, localPropertyImplementation, reducedPropertyImplementation>)입니다.
키: lowerCamelCase 형식의 인터페이스 속성 API 이름입니다. List Interface Types의 allPropertiesV2 또는 Ontology Manager에서 확인합니다.
객체 유형이 인터페이스 속성을 구현하는 방식입니다.
분기 structFieldImplementation
로컬 구조체 속성의 한 필드로 인터페이스 속성을 구현합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: structFieldImplementation. | structFieldImplementation |
structFieldOfProperty | object | 필수 |
structFieldOfProperty의 구조
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
structFieldApiName | string | 필수 | 온톨로지 구조체 필드의 API 이름입니다. |
분기 structImplementation
로컬 구조체 속성으로 구조체 인터페이스 속성을 구현하며 인터페이스 구조체 필드를 로컬 필드 또는 속성에 연결합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: structImplementation. | structImplementation |
mapping | map<StructFieldApiName, union> | 선택 | 로컬 구조체 속성으로 구조체 인터페이스 속성을 구현하며 인터페이스 구조체 필드를 로컬 필드 또는 속성에 연결합니다. |
mapping의 구조
맵의 키는 StructFieldApiName(string), 값은 PropertyOrStructFieldOfPropertyImplementation(union<structFieldOfProperty, property>)입니다.
키: 온톨로지 구조체 필드의 API 이름입니다.
분기 structFieldOfProperty
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: structFieldOfProperty. | structFieldOfProperty |
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
structFieldApiName | string | 필수 | 온톨로지 구조체 필드의 API 이름입니다. |
분기 property
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: property. | property |
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. |
분기 localPropertyImplementation
로컬 속성으로 인터페이스 속성을 구현합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: localPropertyImplementation. | localPropertyImplementation |
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. |
분기 reducedPropertyImplementation
내부 구현에 리듀서를 적용하여 인터페이스 속성을 구현합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: reducedPropertyImplementation. | reducedPropertyImplementation |
implementation | union<structFieldImplementation, structImplementation, localPropertyImplementation> | 필수 | 리듀서가 적용될 내부 구현입니다. reducedPropertyImplementation을 포함하지 않아 임의 깊이로 중첩되는 것을 막습니다. |
implementation의 구조
분기 structFieldImplementation
로컬 구조체 속성의 한 필드로 인터페이스 속성을 구현합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: structFieldImplementation. | structFieldImplementation |
structFieldOfProperty | object | 필수 |
structFieldOfProperty의 구조
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
structFieldApiName | string | 필수 | 온톨로지 구조체 필드의 API 이름입니다. |
분기 structImplementation
로컬 구조체 속성으로 구조체 인터페이스 속성을 구현하며 인터페이스 구조체 필드를 로컬 필드 또는 속성에 연결합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: structImplementation. | structImplementation |
mapping | map<StructFieldApiName, union> | 선택 | 로컬 구조체 속성으로 구조체 인터페이스 속성을 구현하며 인터페이스 구조체 필드를 로컬 필드 또는 속성에 연결합니다. |
mapping의 구조
맵의 키는 StructFieldApiName(string), 값은 PropertyOrStructFieldOfPropertyImplementation(union<structFieldOfProperty, property>)입니다.
키: 온톨로지 구조체 필드의 API 이름입니다.
분기 structFieldOfProperty
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: structFieldOfProperty. | structFieldOfProperty |
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. | |
structFieldApiName | string | 필수 | 온톨로지 구조체 필드의 API 이름입니다. |
분기 property
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: property. | property |
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. |
분기 localPropertyImplementation
로컬 속성으로 인터페이스 속성을 구현합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: localPropertyImplementation. | localPropertyImplementation |
propertyApiName | string | 필수 | 속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다. |
links의 구조
맵의 키는 InterfaceLinkTypeApiName(string), 값은 array(list<LinkTypeApiName>)입니다.
키: 인터페이스 링크 유형의 API 이름입니다. Ontology Manager에서 확인합니다.
배열 항목은 LinkTypeApiName이며 자료형은 string입니다.
링크 유형의 API 이름입니다. Ontology Manager에서 확인합니다.
actionTypes의 구조
맵의 키는 InterfaceActionTypeConstraintApiName(string), 값은 ActionTypeApiName(string)입니다.
키: 구현 객체 유형이 구체적인 액션 유형을 제공하는 인터페이스 액션의 API 이름입니다.
액션 유형의 API 이름입니다. List Action Types 또는 Ontology Manager에서 확인합니다.