온톨로지클래스 (Ontology Class)
쉽게 풀면
온톨로지에서 비슷한 특징을 가진 대상들을 묶은 개념 단위로, 여러 클래스가 위아래 관계로 연결되어 구조를 이룬다.
왜 중요한가
온톨로지 설계 시 개념 위계를 형식적으로 정의하는 기본 단위로, OWL 같은 온톨로지 언어에서 클래스 간 상위-하위 관계와 교집합·합집합 등의 논리적 연산을 표현하는 데 쓰입니다. 클래스 계층은 온톨로지가 다루는 도메인의 개념적 지도 역할을 하여, 새로운 개체를 어느 범주에 분류할지 판단하는 기준이 된다. 클래스 계층이 잘 설계되어 있으면 새로운 데이터가 들어와도 기존 구조를 크게 바꾸지 않고 확장할 수 있다. 클래스 정의가 애매하면 서로 다른 개발자가 같은 개념을 다른 클래스로 각자 모델링해 데이터 통합이 어려워질 수 있다.
논문에서는 이렇게 쓰입니다
온톨로지의 클래스 위계를 만들 때 기존 통제어휘의 위계 관계를 참고하는 방법을 제안한 문장이다.
구체적인 클래스 위계 설정 사례를 통해 온톨로지 구조화 방식을 보여준다.
조금 더 깊게 보면
클래스와 개체(instance)의 경계가 온톨로지 설계에 따라 달라질 수 있어(예: 특정 종을 클래스로 볼지 개체로 볼지), 이 경계 설정은 설계자의 모델링 관점에 좌우되는 경우가 많습니다. 온톨로지클래스는 공통 속성을 가진 개체들의 집합을 나타내며, 클래스 간 상위-하위 관계는 논리적 포함 관계로 정의되어 추론 엔진이 자동으로 하위 클래스 관계를 도출할 수 있게 한다. 클래스는 필요충분조건을 명시해 정의할 수도 있고, 단순히 이름만 붙여 원시적으로 선언할 수도 있어 정의의 엄밀성에 차이를 둘 수 있다. 여러 클래스의 교집합이나 합집합으로 새로운 클래스를 정의하는 복합 클래스 표현도 OWL에서 지원된다.
주의할 점
온톨로지클래스는 시소러스의 상위어-하위어 관계와 유사해 보이지만 형식논리에 기반한 엄격한 집합 포함 관계를 요구하므로, 두 개념을 동일시하면 오류가 생길 수 있다는 점에 유의해야 한다.
클래스 정의가 지나치게 엄격하면 실제 데이터의 예외적 사례가 그 클래스에 속하지 못해 추론 결과가 의도와 어긋날 수 있다는 점에 유의해야 한다.