SKOS(Simple Knowledge Organization)

SKOS(Simple Knowledge Organization System) 개요

SKOS(Simple Knowledge Organization System)는 시소러스, 택소노미, 분류체계와 주제명 표목표 같은 지식어휘체계를 표현하기 위한 RDF 용어집(vocabulary)이다. SKOS가 RDF(Resource Description Framework)에 기반하고 있기 때문에 SKOS로 표현된 지식어휘체계는 기계가 이해 가능하고(machine-readable), 소프트웨어 어플리케이션 간에 상호호환이 가능(interoperability)하며 웹으로 발행(publishing)이 가능하다.

시맨틱웹 어플리케이션에서 지식어휘체계로 정의된 용어를 사용하기 위해서는 어플리케이션에서의 참조와 재사용을 증진시키는 방식으로 어휘의 용어들을 정의하고, 문서화하고 발행해야 한다. 다양한 정보원의 데이터를 병합하고 이를 재사용가능하도록 설계된 시맨틱웹의 특성은 SKOS를 기반으로 지식어휘체계를 관리함으로써 다른 시맨틱웹 어휘들과 융복합될 수 있으며 계속적인 확장이 가능하다.

콘텐츠 색인에 있어서 시맨틱웹 온톨로지 또는 어휘를 사용하는 가장 큰 장점으로는 URI를 통해 통일된 방법으로 명확한 개념을 참조할 수 있다는 점이다. 특히, 이용자가 Linked Data로 발행된 지식어휘체계를 URI로 접근할 때, 개념에 대한 부가 정보를 제공할 수 있고 개념간의 관계를 표현하기 때문에 관계를 따라 브라우징과 탐색이 가능하다.

또한, SKOS 데이터 모델은 사용하는 개별 기관이나 이용자의 목적에 따라 확장이 가능하므로 원래의 SKOS 데이터 모델과 일관성을 유지하면서도 개별 도메인에 특화된 특성을 구현할 수 있는 장점이 있다. SKOS 같은 공통 표현모델을 사용하면 여러 지식어휘체계를 하나의 어플리케이션에서 연계하여 사용가능하고 시맨틱웹 환경에서 하나의 지식어휘체계를 여러 어플리케이션에서 공유하는 등 연계ㆍ공유가 쉽고 따라서 재사용이 가능하다.

SKOS는 기존에 존재하는 개념적 지식어휘체계, 즉, 시소러스, 분류체계, 주제어 표목표, 택소노미의 형태로 생산된 각종 어휘들을 대체하기 위한 것이 아니라, RDF 기술을 토대로 한 경량의, 직관적인 개념적 모델링 언어로 새로운 KOS를 개발하고 공유하기 위한 언어이다. 이를 통해 저비용의 마이그레이션 방법을 지원함으로써 기존의 지식어휘체계가 시맨틱웹에 포팅(porting)되고, 재사용성과 상호운용성을 증진할 수 있도록 하는 것이 SKOS의 목적이다.

또한 SKOS는 소셜 태깅 어플리케이션과 같은 웹 기반의 협업 도구에서 사용되는 비구조적이고 비형식적인 태깅 시스템과 OWL과 같이 논리적 형식화가 잘된 온톨로지 언어 사이의 연결고리로서의 역할을 담당한다.

SKOS 모델의 주요 구성요소

SKOS의 개념 모델(concept schema)은 ISO2788 시소러스 표준의 영향을 받아 유사하다. SKOS 개념 모델은 RDF의 구성자(construct)만으로 정의되어 있는데 그 이유는 RDFS/OWL이 의미적 표현이 더 풍부하나, SKOS만으로도 시소러스를 비롯한 지식어휘체계(KOS)를 표현하는데 충분하기 때문이다.

SKOS는 레이어로 구성된다. SKOS Core는 가장 개발이 진행된 부분이고 시소러스 표준에 직접적으로 대응되는 부분이다. SKOS Mapping은 시소러스 개념들을 하나의 정보원에서 다른 정보원으로 매핑시키기 위해 여러 개의 특정한 프로퍼티를 정의하는 SKOS의 확장이다.

가) 개념 정의(Concepts)

SKOS 개념 모델의 가장 기본 요소인 skos:Concept 클래스는 지식어휘체계에 존재하는 객체(object), 의미(meaning), 아이디어 또는 이벤트를 표현하는데 사용된다. skos:Concept을 이용하여 주어진 리소스를 개념으로 명시하기 위해서는

1. 개념에 대한 유일 식별자(URI)를 생성(또는 재사용)하고,

2. rdf:type 프로퍼티를 이용하여 RDF 형식으로 표현한다.

예를 들어, RDF로 표현된 다음 구문은

<http://www.example.com/animals>   rdf:type   skos:Concept.

“animals“라는 리소스가 URI로 ”http://www.example.com/animals“를 가지며, skos:Concept 클래스의 인스턴스(즉, animals의 타입이 skos:Concept)임을 나타낸다.

위의 구문을 네임스페이스 prefix ex로 축약해서 표현하면 다음과 같다.

ex:animals   rdf:type   skos:Concept.

나) 레이블 정의(Labels)

skos:Concept로 선언된 개념을 자연어, 즉 인간이 읽을 수 있는 리소스의 이름으로 표현하기 위해 사용하는 것이 rdfs:label이다. SKOS는 rdfs:label을 확장하여 다음과 같은 세가지의 레이블 속성을 제공한다.

1. skos:prefLabel

skos:prefLabel은 주로 두 가지 용도로 사용된다. 첫 번째는 색인 시스템에서 사용되는 색인어(descriptor)를 지정하기 위하여 사용되고, 두 번째는 다국어 레이블을 지정하기 위한 용도로 사용된다.

ex:animals rdf:type skos:Concept;

   skos:prefLabel “animals”;

   skos:prefLabel “animals”@en;

   skos:prefLabel “animaux”@fr.

2. skos:altLabel

skos:altLabel은 skos:prefLabel 외에 보통 약어 표현이나 동의어 표현과 같은 부가적인 표기가 존재할 때 사용된다.

ex:fao rdf:type skos:Concept;

   skos:prefLabel “Food and Agriculture Organization”@en;

   skos:altLabel “FAO”@en.

3. skos:hiddenLabel

skos:hiddenLabel은 텍스트 기반의 색인, 검색을 위해 기계가 접근할 수 있는 텍스트 데이터를 표현하면서 데이터가 이용자에게는 보이지 않도록 하고 싶을 때 사용한다. 예를 들어, 철자가 틀린 텍스트 데이터를 색인어에 포함시키고자 할 때 사용한다.

ex:animals rdf:type skos:Concept;

   skos:prefLabel “animaux”@fr;

   skos:altLabel “bêtes”@fr;

   skos:hiddenLabel “betes”@fr.

다) 개념 간의 의미관계 표현(Semantic Relationships)

지식어휘체계에서 개념 정의를 하는데 의미관계는 중요한 역할을 한다. 개념의 의미는 레이블로 표현되는 자연어로서가 아니라 어휘체계 안에서 다른 개념들과의 관계를 통해 나타내지기 때문이다.

 

1. 협의어/광의어(Broader/Narrower 관계)

skos:broader와 skos:narrower는 개념들 간의 계층관계, 즉, 어떤 분류체계 내에서의 상/하위 관계, 부분/전체 관계를 표현하는데 사용된다.

ex:animals   rdf:type   skos:Concept;

   skos:prefLabel   “animals”@en;

   skos:narrower   ex:mammals.

ex:mammals   rdf:type   skos:Concept;

   skos:prefLabel   “mammals”@en;

   skos:broader ex:animals.

2. 관련어(skos:related)

두 개념 간의 수평적인 연관 관계를 표현하는 데는 skos:related가 사용된다. 이것은 대칭 프로퍼티(symmetric property)로서, 즉 A skos:related B 이면 B skos:related A가 추론된다.

ex:birds   rdf:type   skos:Concept;

   skos:prefLabel   “birds”@en;

   skos:related   ex:ornithology.

ex:ornithology   rdf:type   skos:Concept;

   skos:prefLabel   “ornithology”@en.

라) 지식어휘체계 명시(Concept Schemes)

skos:ConceptScheme은 이 개념 어휘들이 속해 있는 지식어휘체계를 기술하도록 한다. 시소러스나 분류체계 명을 기술하거나 작성자 등을 표현하는데는 더블린 코어(Dublin Core)의 프로퍼티를 이용할 수 있다.

ex:animalThesaurus   rdf:type   skos:ConceptScheme;

   dct:title “Simple animal thesaurus”;

   dct:creator   ex:antoineIsaac.

 

마) 지식어휘체계 간의 매핑(Mapping Concept Schemes)

SKOS가 제공하는 여러 프로퍼티를 사용하면 여러 지식어휘체계를 서로 연계한 네트워크를 구성할 수 있다. 서로 다른 지식어휘체계의 개념들이 서로 연결됨으로써 분산적이고, 이형적인 글로벌한 지식어휘체계를 형성하게 된다. 지식어휘체계의 웹은 지식어휘체계 간의 의미적 네비게이션을 가능하게 함으로써 새로운 어플리케이션을 만드는 기반이 된다.

SKOS는 다양한 지식어휘체계 간의 개념을 서로 매핑하는 여러 프로퍼티를 제공하는데, skos:exactMatch는 어떤 개념에 정확히 대응되는 관계를 정의할 때, skos:closeMatch는 근접한 유사어를 정의할 때 사용된다. 이 외에도 skos:broadMatch, skos:narrowMatch, 그리고 skos:relatedMatch이 사용 가능하다.

ex1:referenceAnimalScheme   rdf:type   skos:ConceptScheme;

   dct:title   “Extensive list of animals”@en.

   ex2:eggSellerScheme   rdf:type   skos:ConceptScheme;

   dct:title   “Obsessed egg-seller’s vocabulary”@en.

ex1:platypus   skos:broadMatch   ex2:eggLayingAnimals.

ex1:platypus   skos:relatedMatch   ex2:eggs.

ex1:animal   skos:exactMatch   ex2:animals.

개념 간의 매핑을 통해 서로 다른 두 지식어휘체계를 연계하는 것 뿐만 아니라 시맨틱웹 상에서는 리소스의 URI를 이용하여 분산 방식의 공유와 재사용이 가능하다. 따라서 어떤 하나의 개념이 동시에 여러 지식어휘체계에 소속되는 것이 가능하고 SKOS 관리자는 새로운 개념을 선언할 때 어떤 스키마에 존재하는 개념인지 skos:inScheme 프로퍼티를 이용하여 선언함으로써 이미 존재하는 개념을 차용하여 재사용할 수 있다.

ex1:referenceAnimalScheme   rdf:type   skos:ConceptScheme;

   dct:title   “Reference list of animals”@en.

ex1:cats   rdf:type   skos:Concept;

   skos:prefLabel   “cats”@en;

   skos:inScheme   ex1:referenceAnimalScheme.

 참고 : SKOS Primer(http://www.w3.org/TR/2009/NOTE-skos-primer-20090818/)

Advertisements


답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중