객체 유형의 기반 데이터소스
datasources는 호출자가 볼 수 있는 기반 데이터소스만 반환합니다. 지원하는 조회에서 includeDatasources=true를 지정하며 기본값은 false입니다. 접근 가능한 원천이 없으면 빈 목록일 수 있습니다.
ObjectTypeDatasource.rid는 데이터소스 정의에 부여한 식별자입니다. 실제 데이터셋, 제한 뷰, 스트림이나 미디어 집합을 찾을 때는 definition 안의 해당 리소스 RID를 사용합니다.
직접 쓰기와 편집 전용
direct는 작성자가 값을 쓰는 기반 원천이 있습니다. editsOnly는 기반 표 형식 원천이 없고 객체 유형의 모든 속성을 액션으로 채우며 다른 데이터소스와 함께 사용할 수 없습니다.
속성 매핑의 editOnly는 별도 개념입니다. 해당 속성은 표 형식 데이터소스의 권한 적용을 받지만 값만 액션으로 채웁니다.
unsupported는 전용 형식으로 표현하지 않는 원천입니다. unsupportedType으로 기반 종류를 식별하며 unknown이면 속성 목록도 비어 있습니다. 표현할 수 없는 개별 속성 매핑 역시 propertyMapping에서 생략될 수 있습니다.
전체 데이터소스 분기
사용자가 볼 수 있는 객체 유형의 기반 데이터소스입니다. loadOntologyMetadata 또는 includeDatasources=true를 지원하는 요청에서 채웁니다. 접근 가능한 데이터소스가 없으면 목록이 비어 있을 수 있습니다.
배열 항목은 ObjectTypeDatasource이며 자료형은 object입니다.
객체 유형의 속성값을 제공하는 데이터소스입니다. 여러 데이터소스가 함께 속성들을 뒷받침할 수 있습니다. definition에 실제 기반 리소스의 RID를 담아 데이터셋 같은 원천으로 이동할 수 있게 합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
rid | string | 필수 | 객체 유형 데이터소스에 무작위로 부여한 식별자입니다. | ri.ontology.main.datasource.6e1b3641-2d96-4e7c-9c0f-73f7d1f3a16f |
definition | union | 필수 | 객체 유형의 기반 리소스 종류를 지정하는 데이터소스 정의입니다. |
definition의 구조
분기 timeSeries
시계열 동기화를 기반으로 시점에 따른 속성값을 제공하는 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: timeSeries. | timeSeries |
timeSeriesSyncRid | string | 필수 | 시계열 동기화 RID입니다. | |
properties | list<PropertyApiName> | 선택 | 시계열에 연결된 속성 API 이름 목록입니다. |
properties의 구조
배열 항목은 PropertyApiName이며 자료형은 string입니다.
속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
분기 unsupported
공개 API에서 전용 형식으로 표현하지 않는 데이터소스입니다. unsupportedType은 derivedProperties 같은 내부 종류를 식별합니다. 인식하지 못하는 종류는 unknown으로 표시하며 그 경우 properties는 비어 있습니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: unsupported. | unsupported |
unsupportedType | string | 필수 | 기반 OMS 종류를 나타내는 짧고 안정적인 식별자입니다. 예로 derivedProperties 또는 unknown이 있습니다. | |
properties | list<PropertyApiName> | 선택 | 이 데이터소스가 값을 제공하는 속성 API 이름 목록입니다. |
properties의 구조
배열 항목은 PropertyApiName이며 자료형은 string입니다.
속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
분기 restrictedView
Foundry 제한 뷰를 기반으로 하는 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: restrictedView. | restrictedView |
restrictedViewRid | string | 필수 | 제한 뷰의 RID입니다. | ri.foundry.main.restricted-view.8b2adf7c-ba8e-4d33-9bd7-46cc1c321ad4 |
propertyMapping | map<PropertyApiName, PropertyTypeMappingInfo> | 선택 | 속성 API 이름에서 제한 뷰의 속성 매핑 정보로 대응합니다. 표현할 수 없는 매핑은 생략합니다. |
propertyMapping의 구조
키는 속성 API 이름이며 값은 아래 속성 매핑을 따릅니다.
분기 stream
Foundry 스트림을 기반으로 하는 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: stream. | stream |
streamRid | string | 필수 | Foundry 스트림의 RID입니다. | ri.foundry.main.stream.f7e91c94-1cb2-4e34-8fdb-3da7c1a91e8b |
branch | string | 선택 | 데이터소스 브랜치 ID입니다. 사용자가 지정한 문자열이며 RID가 아닙니다. | master |
propertyMapping | map<PropertyApiName, PropertyTypeMappingInfo> | 선택 | 속성 API 이름에서 스트림의 속성 매핑 정보로 대응합니다. 표현할 수 없는 매핑은 생략합니다. |
propertyMapping의 구조
키는 속성 API 이름이며 값은 아래 속성 매핑을 따릅니다.
분기 mediaSetView
미디어 참조 속성을 제공하는 미디어 집합 뷰 기반 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: mediaSetView. | mediaSetView |
mediaSetRid | string | 필수 | Foundry 미디어 집합의 RID입니다. | |
mediaSetViewRid | string | 필수 | 미디어 집합 뷰의 RID입니다. 뷰는 독립적인 미디어 항목 모음입니다. | |
properties | list<PropertyApiName> | 선택 | 미디어 뷰에 연결된 속성 API 이름 목록입니다. |
properties의 구조
배열 항목은 PropertyApiName이며 자료형은 string입니다.
속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
분기 direct
직접 쓰기 원천을 기반으로 하는 데이터소스입니다. 별도의 Foundry 리소스에서 값을 읽는 대신 작성자가 기반 원천에 직접 씁니다. 원천 자체가 없는 editsOnly 데이터소스와 구분합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: direct. | direct |
directSourceRid | string | 필수 | 직접 쓰기 원천의 RID입니다. | ri.ontology.main.direct-source.6e1b3641-2d96-4e7c-9c0f-73f7d1f3a16f |
propertyMapping | map<PropertyApiName, PropertyTypeMappingInfo> | 선택 | 속성 API 이름에서 직접 쓰기 데이터소스의 매핑 정보로 대응합니다. 표현할 수 없는 매핑은 생략합니다. |
propertyMapping의 구조
키는 속성 API 이름이며 값은 아래 속성 매핑을 따릅니다.
분기 geotimeSeries
지리 시계열 통합을 기반으로 지리 시계열 참조 속성을 제공하는 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: geotimeSeries. | geotimeSeries |
geotimeSeriesIntegrationRid | string | 필수 | 지리 시계열 통합의 고유 RID입니다. | |
properties | list<PropertyApiName> | 선택 | 지리 시계열에 연결된 속성 API 이름 목록입니다. |
properties의 구조
배열 항목은 PropertyApiName이며 자료형은 string입니다.
속성의 API 이름입니다. Get Object Type 또는 Ontology Manager에서 확인합니다.
분기 editsOnly
외부 Foundry 리소스가 없는 편집 전용 데이터소스입니다. 객체 유형의 모든 속성을 액션으로만 채우며 다른 데이터소스와 함께 사용할 수 없습니다. 표 형식 데이터소스의 권한 적용을 받는 editOnly 속성과 구분합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: editsOnly. | editsOnly |
분기 dataset
Foundry 데이터셋을 기반으로 하는 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: dataset. | dataset |
datasetRid | string | 필수 | 데이터셋의 RID입니다. | ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da |
branch | string | 선택 | 데이터소스 브랜치 ID입니다. 사용자가 지정한 문자열이며 RID가 아닙니다. | master |
propertyMapping | map<PropertyApiName, PropertyTypeMappingInfo> | 선택 | 속성 API 이름에서 데이터셋의 속성 매핑 정보로 대응합니다. 표현할 수 없는 매핑은 생략합니다. |
propertyMapping의 구조
키는 속성 API 이름이며 값은 아래 속성 매핑을 따릅니다.
분기 table
Foundry 테이블을 기반으로 하는 데이터소스입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: table. | table |
tableRid | string | 필수 | Foundry 테이블의 RID입니다. | ri.tables.main.table.beb574f7-019c-4a01-abd1-ff3c97bfaec8 |
branch | string | 선택 | 데이터소스 브랜치 ID입니다. 사용자가 지정한 문자열이며 RID가 아닙니다. | master |
propertyMapping | map<PropertyApiName, PropertyTypeMappingInfo> | 선택 | 속성 API 이름에서 테이블의 속성 매핑 정보로 대응합니다. 표현할 수 없는 매핑은 생략합니다. |
propertyMapping의 구조
키는 속성 API 이름이며 값은 아래 속성 매핑을 따릅니다.
속성 매핑
propertyMapping의 키는 온톨로지 속성 API 이름입니다. column 분기는 기반 열 하나를, struct 분기는 기반 구조체 열과 필드 대응을, editOnly는 편집으로만 값을 채우는 속성을 나타냅니다.
구조체의 fields 맵은 기반 열의 구조체 필드 이름을 키로 하고 온톨로지 구조체 필드의 apiName을 값 안에 둡니다. 데이터소스의 branch는 사용자가 정한 브랜치 문자열이며 RID가 아닙니다.
속성을 표 형식 데이터소스에 연결하는 방식입니다. 단일 열, 중첩 필드 매핑이 있는 구조체 또는 기반 열 없이 편집으로만 값을 채우는 속성을 나타냅니다.
분기 struct
기반 열의 구조체 필드 이름에서 속성 구조체의 필드로 대응하는 맵입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: struct. | struct |
column | string | 필수 | 표 형식 데이터소스의 열 이름입니다. | |
fields | map<StructFieldName, StructFieldPropertyMapping> | 선택 |
fields의 구조
맵의 키는 StructFieldName(string), 값은 StructFieldPropertyMapping(object)입니다.
키: 구조체 필드의 이름입니다.
apiName으로 온톨로지 구조체 필드 이름을 지정하는 매핑입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
apiName | string | 필수 | 온톨로지 구조체 필드의 API 이름입니다. |
분기 column
기반 데이터소스의 열 하나에 연결한 속성입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: column. | column |
column | string | 필수 | 표 형식 데이터소스의 열 이름입니다. |
분기 editOnly
표 형식 데이터소스의 권한 적용을 받지만 값은 액션으로만 채우는 속성입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: editOnly. | editOnly |
다음은 기반 열 physical_address를 객체의 address 속성에 연결하는 매핑 예시입니다.
{
"address": {
"type":"struct",
"column":"physical_address",
"fields": {
"street_name":{"apiName":"street"},
"zip_code":{"apiName":"postalCode"}
}
}
}