Post

속성의 표현

1. 속성 표현

리소스들 사이의 관계를 기술하는 속성은 RDF모델의 골격이 된다. RDF스키마에서는 속성의 정의역, 치역 그리고 계층관계 등과 같은 성질에 의해 속성을 표현(정의)한다.

2. 속성의 기본적인 표현

속성을 정의(표현)하기 위해서는 rdf:Property타입을 갖는 리소스를 기술하고 URI 참조를 이용하여 이름을 부여한다(클래스의 경우와 마찬가지이다). 속성은, 클래스의 경우와 마찬가지로, 자신에 대응하는 속성의 외연을 가지고 있다.

속성은 주어(s)와 목적어(o)의 관계를 나타내므로, 외연은 해당 리소스의 쌍 <s, o>의 집합이 된다(이와 같은 <s, o>를 속성의 인스턴스라고 부르기도 한다). ex:livesWith라는 이름의 속성에 대한 외연은, ‘s는 o와 함께 사고 있다’라는 관계를 만족하는 <s, o>의 집합이 되는 것이다.

이와 같은 속성을 ex:livesWith라고 명명하는 것만으로 ‘함께 살고 있다’라는 의미를 직접 얻을 수 있는 것은 아니며, 이용자들 상호간의 이해와 코멘트, 기타 정보 등을 조합하여 구체적인 의미를 파악할 수 있는 특징 또한 클래스의 경우와 유사하다.

2. 속성의 정의역과 치역

RDF스키마에서는 속성이 관계하는 리소스가 어떤 클래스의 외연에 속하는지에 대한 정보를 기술함으로써 속성에 대해서 보다 구체적으로 나타낼 수 있다. 속성의 주어가 되는 클래스를 정의역(Domain), 목적어가 되는 클래스를 치역(Range)이라고 부르며, 각각 rdfs:domain, rdfs:range라는 속성을 사용하여 표현한다.

1) rdfs:domain

속성의 주어가되는 리소스의 클래스(정의역)를 나타낸다. P rdfs:domain C .인 속성 P가 S P O .이라는 트리플을 기술하는데 사용된 경우, 리소스S가 클래스C의 외연에 속함을 의미한다. 속성이 여러 개의 rdfs:domain을 갖는 경우에는, 해당 속성의 주어가 되는 리소스는 rdfs:domain으로 나타낸 모든 클래스의 외연에 속한다. 예를 들면, 속성P가 P rdfs:domain C’ .이라는 정의역 추가적으로 갖는다면, S P O .의 주어S는, 클래스C와 C’의 인스턴스가 된다.

2) rdfs:range

속성의 목적어가 되는 리소스의 클래스(치역)를 나타낸다. P rdfs:range D .인 속성P가, S P O .라는 트리플을 기술하는데 사용된 겨웅, 리소스 O가 클래스D의 외연에 속함을 의미한다. 속엉이 여러 개의 rdfs:rnage를 갖는 경우, 해당 속성의 목적어가 되는 리소스는 rdfs:range에 나타난 모든 클래스의 외연에 속한다.

3. 클래스와 속성의 정의역과 치역

RDF에서는 속성은 클래스의 속성이 아니라 독립적으로 정의(표현)된다. 속성표현의 정의역과 치역은 해당 속성이 이용할 수 있는 범위를 제약하는 것이 아니라, 속성과 조합된 리소스의 클래스를 묵시적으로 나타내는 역할을 한다.

4. 치역과 데이터형

RDF스키마의 치역은, 속성이 리터럴값을 갖는 경우, 해당 데이터형을 나타낼 수 도 있다. 예를 들면, 가격을 나타내는 속성 a:price의 값이 단위를 포함한 데이터형 d:wonValue임을 나타낸다면 다음과 같이 기술한다.

wonvalue

rdfs:range의 목적어를 rdfs:Datatype의 유형화된 노드요소로서 기술하는 것은, 필수사항은 아니지만, d:ownValue가 데이터형이라는 점을, 혼란을 피하기 위해서 어떠한 형태로든지 기술해 두는 것이 바람직할 것이다. 이와 같은 속성을 사요하는 경우, 값은 유형화된 리터럴로서 기술하지 않으면 안된다.

5. 속성의 계층

서브클래스에 의해 클래스이 계층관계를 표현할 수 있으며, 속성들도 서브속성으로서 계층적으로 표현할 수 있다. 서브속성관계는 rdfs:subPropertyOf로 나타낸다.

1) rdfs:subProprtyOf

서브속성관계를 표현한다. P1 rdfs:subProprtyOf P2 .이라는 관계가 존재하는 경우, 트리플 S P1 O .로 기술할 수 있는 리소스S와 O는 트리플 S P2 O .도 만족한다. 따라서, 속성 P2의 정의역과 치역은 그대로 서브속성 P1에도 계승된다.

또한, 위에 추가하여 P2 rdfs:subPropertyOf P3 .이면, P1 rdfs:subPropertyOf P3 .도 성립한다. rdfs:subPropertyOf는 rdfs:subClassOf와 마찬가지로, 추이성을 갖는 속성이다.

[출처 및 참고]

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