Post

OWL의 목적과 3가지 하위언어

1. OWL이란

웹 리소스를 기술하는 온톨로지 언어로서 2004년에 W3C에 의해 권고된 것이 OWL(Web Ontology Language)이다. OWL에는, 기술논리(Description Logic)를 토대로 하는 엄밀한 OWL DL과 이데 대한 단순화된 버젼으로서 OWL Lite, 그리고 RDF스키마의 확장으로서 보다 자유로운 기술이 가능한 OWL Full과 같은 3가지 하위언어가 있다.

2. 웹 온톨로지

RDF스키마에 의한 비교적 단순한 기술로부터 한걸음 더 나아가서, 정보의 상세한 논리표현을 위해서 온톨로지(Ontology)를 사용한다. 온톨로지는 인간의 지식을 다루는 분야 및 기법을 가리키며, 특히 컴퓨터를 이용한 지식표현으로서의 온톨로지는, ‘개념화의 명시적인 규약’ 즉, ‘어떤 분야의 지식을 계산기로 처리할 수 있도록 명시적 및 논리적으로 기술하고, 그 지식의 공유와 재이용을 가능하게 하는 것’이다.

웹에서의 온톨로지는, 지식표현분야의 성과 위에 웹의 분산적인 성질을 가미하여 다음과 같은 요건을 갖춘 것으로서 구축된다.

  • 각각의 커뮤니티에서 만들어지는 온톨로지의 공유와 상호운용성

  • 온톨로지의 개정 및 통합이 가능한 발전성의 확보

  • 여러 개의 온톨로지 및 데이터들 사이의 부정합 검출

  • 다양한 지식을 기술하기 위한 표현력과 기능성 사이의 균형

2004년 2월에 W3C권고안으로서 공개된 OWL(Web Ontology Language)는 다양한 영역의 지식을 이용하여 프로그램이 자동적으로 동작하고 상호운용될 수 있도록 하기 위한 웹 온톨로지 언어이다.

3. OWL Lite, OWL DL, OWL Full

온톨로지에는, 상이한 어휘들 간의 관걔를 나타내는 레벨로부터 엄밀한 논리적 귀결을 도출하기 위해 개념을 기술한 것에 이르기까지, 그리고, 구체적인 문제해결을 염두에둔 것(Task Ontology)과 어떤 영역의 개념을 범용적으로 정의한 것(Domain Ontology)등, 다양한 것들이 있다.

이와 같은 온톨로지들을 기술화는 온톨로지언어에 요구되는 기능은 일정하지 않다. OWL은, 이와 같은 다양한 요구사항들을 단일 언어로 커버하는 것이 아니라, 3가지 하위언어를 제공하여 필요에 따라서 선택할 수 있도록 하고 있다.

1) OWL Lite

클래스계층구조의 구축과 기본적인 제약조건의 기술이 주목적인 경우에 사용하며, OWL DL의 부분집합이다. OWL Lite에서는 OWL DL/OWL Full에서 사용할 수 있는 어휘의 일부가 이용불가능하거나 어휘의 사용에 제한이 있지만, 그 대신에 OWL Lite를 처리하는 어플리케이션은 비교적 용이하게 구현가능하다.

2) OWL DL

OWL의 어휘를 모두 이용하면서 기술논리를 토대로 이론계산의 완전성(모든 함의는 계산가능)과 결정가능성(모든 계산은 유한시간내에 완료)을 확보하도록 설계되어 있다. 따라서, OWL DL에서는 타입의 구별(형분리)을 엄리하게 하고 있으며, 클래스이면서 동시에 인스턴스이기도 한 리소스의 존재를 인정하지 않는다. OWL DL은 엄밀한 추론을 수행하는 시스템을 위한 온톨로지를 기술할 수 있다.

3) OWL Full

OWL의 어휘와 RDF의 유연성을 최대한 이용하기 위한 언어이다. OWL중에서도 가장 표현력이 높지만, 계산의 완전성과 결정가능성은 보증되지 않는다. OWL Full은 이미 RDF스키마로 표현되어 있는 어휘를 보다 상세하게 기술하거나 서로 관계시키기 위해서 이용할 수 있다.

이와 같은 하위언어들은, {OW: Lite} ⊆ {OWL DL} ⊆ {OWL Full}과 같은 관계를 갖는다. 따라서, OWL Lite에서도 OWL DL과 마찬가지의 계산 완전성과 결정가능성이 보증된다. 한편, 모든 RDF스키마는 OWL Full온톨로지이지만, OWL Lite 및 OWL DL온톨로지는 아닌 경우가 있다. OWL의 어휘는 3가지 하위언어들의 공통적인 이름공간 http://www.w3.org/2002/07/owl# 으로 나타낸다.

1) OWL하위언어의 사용

기술논리를 토대로 하는 추론엔진을 이용할 수 있는 온톨로지를 구축하기 위해서는, OWL DL이 필요하다. 웹에서의 지식공유와 재이용을 위해서, 인공지능 및 지식표현의 성과를 가미한 것이 OWL DL에 의한 온톨로지 이다. 이와 같은 OWL DL의 어프로치를 포함하면서, 기능을 줄여서 신속하고 컴팩트한 개발을 목표로 하는 경우에는 OWL Lite를 사용한다. 클래스와 인스턴스의 구별을 유연하게 하여 실용성을 추구하는 경우에는 OWL Full을 사용한다.

클래스계층구조와 속성의 정의에 의해 중심이 되는 RDF스키마를 확장하고 어플리케이션의 처리에 힌트가 되는 정보를 추가하기 위해서, OWL의 어휘를 이용할 수도 있다. 또한, 다른 스키마 및 온톨로지의 어휘와의 관련성을 나타내는 속성들(owl:equivallentClass, owl:equivallentProperty. owl:sameAs, owl:differentFrom 등)도 웹에서의 어휘 연동과 상호운용을 고려할 경우에 유용하다.

2) OWL온톨로지의 구성

OWL온톨로지는 다음과 같은 4가지 요소들로 구성된다.

  • 헤더(header): 온톨로지 전체의 정보를 기술

  • 클래스 공리(class axioms): 클래스의 정의를 기술

  • 속성 공리(property axioms): 속성의 광역적인 정의를 기술

  • 사실(fact): 개체(인스턴스)를 기술

하나의 온톨로지능 위와 같은 요소들을 모두 갖는 것도 있고, 일부분만 갖는 것도 있을 수 있다. 공리와 사실은 몇 개가 있더라도 상관없다.

[출처 및 참고]

  • 시맨틱 웹을 위한 RDF/OWL 입문
This post is licensed under CC BY 4.0 by the author.