OWL
개요
웹 온톨로지(OWL, Web Ontology language)는 단지 사람에게 정보를 표시하는데 그치지 않고 정보의 내용을, 어플리케이션(프로그램)이 활용될 수 있도록 설계된 언어이다. 예로 날씨를 제공하는 웹 페이지가 있다고 하자. 사람이 날씨 페이지에 방문하여 HTML 형식으로 제공되어 웹 브라우저를 통해 해당 URL로 접근하면 쉽게 확인할 수 있다. 그러면 어플리케이션이 해당 웹 URL에 접속해서 날씨 정보를 활용하려면 어떻게 해야 하는가. 정보의 공유를 위해서는 온톨로지가 필요하다. 기계적으로 프로그램적으로 활용할 수 있도록 명세를 하는 방법이다. 웹 온톨로지는 왜 별도로 OWL이라는 이름이 있을까? 그 이유는 간단하다. 온톨로지가 웹에서 활용도가 가장 높기 때문이다.
특징
웹 온톨로지은 풍부한 어휘(vocabulary)와 형식적 의미론(formal semantics)을 포함하고 있기 때문에 기계 해석이 가능한 웹 컨텐트를 저작하는데 있어 XML, RDF 및 RDF 스키마(RDF-S)보다 뛰어나다.
OWL의 종류
OWL은 표현력이 서로 다른 세 개의 하위 언어 - OWL Lite, OWL DL, OWL Full - 로 구성되어 있다. 후자로 갈수록 표현력이 더 크다.
- OWL Lite: OWL Lite는 OWL의 축소판이다. 이는 단순한 온톨로지를 만들어야 하고 언어의 모든 표현법이 필요하지 않은 사람들에게 적당하다. OWL Lite는 도구를 만들기 가장 쉬운 종류다.
- OWL DL: DL(Description Logic)은 OWL Full 보다는 약간의 제한이 있다. 가령 모든 클래스는 명확하게 정의되어야 한다.
- OWL Full: 세 종류 중 가장 표현력이 풍부한 OWL Full은 기본적으로 RDF가 허락하는 모든 것을 허락한다. 동작중에 클래스를 정의할 수 있고 특성이나 개체로 클래스를 사용할 수 있고 질문에 답하는 데 필요한 정보가 충분하지 않아도 되는 프로그램과 같은 온톨로지를 만들 수도 있다.
OWL 구성
온톨로지는 개체 개념 및 관계 정의를 위한 명시적인 언어라 할 수 있다. OWL을 실제 어떻게 구성하는지 간단한 예제를 통해 알아보자. 가령 아래와 같은 개념을 온톨로지화한다고 생각해보자.
![]() |
웹서비스 중 하나인 상점 그리고 상점에서 판매하는 제품인 책과 영화 등을 온톨로화 시키기 위한 기본 구조이다. 위 그림에 대한 구조를 객체의 개념만으로 온톨로지를 구성하면 아래와 같다. 보다 자세한 내용은 여기를 참고하기 바란다.
<owl:Ontology rdf:about="">
<rdfs:comment>
An example OWL ontology for Online Bookstores (The Ultimate
Mashup: Part #4)
</rdfs:comment>
<rdfs:label>BookStore Ontology</rdfs:label>
</owl:Ontology>
<owl:Class rdf:ID="Service">
<rdfs:label>Web Service</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Store">
<rdfs:label>Online Store</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Bookstore">
<rdfs:label>Bookstore</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Product">
<rdfs:label>Product sold at online store</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Book">
<rdfs:label>Book</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Movie">
<rdfs:label>Movie</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Person">
<rdfs:label>Person</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Author">
<rdfs:label>Author</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="Director">
<rdfs:label>Director</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="BookGenre">
<rdfs:label>Book Genre</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="StockItem">
<rdfs:label>Stocked Item</rdfs:label>
</owl:Class>
OWL과 웹 서비스
위와 같은 온톨로저가 구성되면, 지능적인? 웹 서비스를 위한 준비가 된다. 가령 위 온톨로지와 관련되어 문자열을 입력으로 하고, 출력을 관련된 책의 정보를 제공하는 웹 서비스가 있다고 하면, 입력 시 들어온(query) 문자열에 이용하여 웹 뒷단에서 구현되어 있는 온톨로지를 기반으로 책 정보를 조금 더 고급스럽게 (지능적으로) 출력 정보를 제공할 수 있는 것이다.

Recent Comments