Post

클래스 멤버의 열거

1. 클래스 멤버의 열거

클래스의 외연에 속하는 멤버들(개체들)을 모두 열거함으로써 해당 클래스를 표현할 수 있다. 멤버를 열거하기위해서는, owl:oneOf속성을 사용한다.

1) owl:oneOf

OWL클래스의 인스턴스를 과부족 없이 열거한다. owl:oneOf속성의 정의역은 owl:Class이고, 치역은 rdf:List이다. owl:oneOf는 OWL Lite에서는 사용할 수 없다.

열거한 개체들이 해당 클래스외연의 모든 멤버들이고, 그 이상도 그 이하도 아님을 명시하기 위해서, owl:oneOf는 RDF의 컬렉션을 목적어로 한다. XML/RDF에서는, parseType=”Collection”속성을 이용한다.

RDF에서는 임의의 리소스를 기술하기 위하여 rdf:Description요소를 사용하였으나, OWL DL/Lite에서는 개체는 반드시 어떤 클래스에 속해야하므로, 특별히 클래스를 규정하지 않는 경우에는 owl:Thing클래스의 인스턴스로서 기술한다.

2. 클래스의 논리조합

논리조합은 어떤 클래스를 다른 클래스들의 교집합(owl:intersectionOf), 합집합(owl:unionOf) 그리고 부정(owl:complementOf)으로서 표현하는 방법이다. 교집합과 합집합을 조합하는 경우, 해당 클래스는 과부족 없이 열거한다. OWL Lite에서는 교집합에 의한 표현만 이용할 수 있다.

1) owl:intersectionOf

열거된 클래스들의 교집합으로 한 클래스를 표현한다. 주어클래스의 인스턴스에는, 열거된 각 클래스들의 인스턴스에 공통적인 것들만 포함된다. 정의역은 owl:Class이고, 치역은 rdf:List이다.

2) owl:unionOf

열거된 클래스들의 합집합으로 한 클래스를 표현한다. 주어클래스의 인스턴스에는, 열거된 각 클래스들의 인스턴스들 모두가 포함된다. 정의역은 owl:Class이고, 치역은 rdf:List이다. OWL Lite에서는 사용할 수 없다.

3) owl:complementOf

주어클래스를 목적어클래스의 부정(반전)으로 표현한다. 주어클래스의 인스턴스는, 목적어클래스의 외연에 속하지 않는 모든 개체가 된다. 정의역과 치역 모두 owl:Class가 된다. OWL Lite에서는 사용할 수 없다.

조합되는 클래스들은, 별도로 기술되어 있는 클래스들을 이름으로 참조할 수 있으며, 직접 클래스표현으로서 기술할 수도 있다(OWL Lite에서는, owl:intersectionOf만을 사용할 수 있으며, 조합되는 클래스는 클래스명 또는 속성제약에 한정된다). 더욱이, 클래스표현은 내포구조로 만들 수도 있다. 교집합과 합집합을 적용하는 경우, 클래스를 과부족 없이 조합시키기 위하여, RDF의 컬렉션을 사용한다.

[출처 및 참고]

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