Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

인터페이스의 공통 구조와 기능

인터페이스(Interface)는 객체 유형(Object type)의 공통 속성과 기능을 정의하는 온톨로지 유형입니다. 가상의 Facility 인터페이스에 Facility Name과 Location이 있다면 Airport, Manufacturing Plant와 Maintenance Hangar가 이를 구현하면서 각 유형에 필요한 속성을 추가로 가질 수 있습니다.

인터페이스 계약을 사용하는 지원 앱은 구체 유형별 차이를 몰라도 구현 객체들을 함께 또는 개별로 다룰 수 있습니다. 같은 계약을 만족하는 새 유형을 추가하면 각 유형을 위한 코드 분기를 새로 만들지 않고 사용할 수 있습니다. 실제 적용 범위는 아래의 앱 및 서비스 지원을 따릅니다.

구성 요소

인터페이스에는 속성(Property), 링크 유형 제약, 액션 유형 제약과 메타데이터가 있습니다. 속성은 인터페이스에 직접 정의하는 방식을 권장하며 공유 속성(Shared property)을 사용할 수도 있습니다.

여러 객체 유형이 같은 인터페이스를 구현할 수 있고 한 객체 유형도 여러 인터페이스를 구현할 수 있습니다. 인터페이스는 다른 인터페이스를 확장하여 속성과 제약을 상속하고 더 구체적인 요구를 추가할 수 있습니다. 여러 상위 인터페이스와 여러 단계의 확장도 가능합니다.

객체 유형과의 차이

객체 유형은 로컬 또는 공유 속성으로 구체적인 스키마를 정의하고 실제 객체(Object)를 제공합니다. 기반 데이터셋(Dataset)에서 그 속성값을 공급하는 구성이 대표적입니다.

인터페이스는 추상 계약입니다. 자체 기반 데이터셋을 갖지 않고 인터페이스 자체를 직접 객체로 생성하지 않습니다. 인터페이스로 읽는 데이터도 Airport 같은 구체 객체 유형의 객체입니다.

플랫폼은 점선 테두리 아이콘으로 인터페이스를 객체 유형과 구분합니다.

권한

새 인터페이스는 프로젝트(Project)에 저장하여 프로젝트 권한을 적용할 수 있습니다. 기존 인터페이스에는 구형 온톨로지 역할이 남아 있을 수 있습니다. 프로젝트 권한 이전은 인터페이스도 지원하며 정의의 권한과 구현 객체 데이터의 권한을 구분합니다.

앱과 서비스 지원

앱 또는 서비스지원 범위
Ontology Manager인터페이스 정의, 수정과 구현
Marketplace인터페이스 패키징과 설치
TypeScript v2 함수인터페이스 사용 지원
Actions구현 객체의 생성, 수정, 삭제와 링크를 다루는 액션을 정의할 수 있습니다. 인터페이스 액션 유형 제약은 베타입니다.
Object Set Service인터페이스 기준 검색과 정렬을 지원합니다. 인터페이스 집계와 인터페이스 링크 유형 지원은 개발 중입니다.
Ontology SDKTypeScript에서 공통 API로 사용할 수 있습니다. Java와 Python의 지원은 개발 중입니다.
Workshop인터페이스 객체 집합과 지원 위젯의 인터페이스 속성을 사용할 수 있습니다. 일부 위젯은 객체 유형 기반 집합처럼 처리하므로 위젯별 차이를 확인합니다.
TypeScript v1 및 Python 함수인터페이스를 지원하지 않습니다.

인터페이스 일반 지원과 액션 유형 제약 지원은 서로 다릅니다. 제약을 호출 경로에서 사용할 때에는 액션 제약의 지원 범위를 확인합니다.

정의와 구현 관리

생성 후 적절한 객체 유형에 구현을 추가합니다. 공통 계약을 바꿀 때에는 정의 수정, 특정 유형의 연결을 바꿀 때에는 구현 매핑 수정을 사용합니다.