분류 체계를 관리하는 목적이 엔터프라이즈에서 비즈니스 프로세스를 통합하기 위한 것이든지, 더 지능적인 검색을 위해 컨텐츠로 지정된 키워드를 관리하기 위한 것이든지, 아니면 대규모 웹 기반 소매 사이트의 메뉴를 관리하기 위한 것이든지 간에, 분류 체계 관리 도구가 다른 도구로 원활히 마이그레이션하지 않는 독점적인 바이너리 형식으로 데이터를 저장하는 것을 확인할 수 있다. 이 데이터를 표현하는 표준 기반의 방법은 여러 소스에서 나온 어휘를 통합하는 데 도움을 줄 수 있는 동시에 독점 도구에 대한 종속성을 줄일 수 있다.
Simple Knowledge Organization System(SKOS)은 제어된 어휘를 표현하기 위한 표준 모델을 제공하기 위해 W3C의 RDF, RDFS 및 OWL 스펙에서 빌드하는 W3C 표준이다. 적은 목록 뿐만 아니라 분류 체계 및 시소러스와 같은 추가 메타데이터로 더 구조화된 제어된 어휘에 대해서도 SKOS를 사용할 수 있다.
SKOS가 RDF 모델을 사용하여 정의되기 때문에, XML 형식으로 데이터를 읽고 작성하기에 간편하다. SKOS에 대한 도구 지원을 증가하는 것은 이를 사용하면 관련된 W3C 표준의 지식이 필요하지 않다는 것을 의미한다. 하지만, 더 알면 알수록 SKOS 표준의 일부가 될 수 없는 어휘에서 사용자 정의된 메타데이터를 포함하기 위해 SKOS의 확장성을 더 많이 활용할 수 있다.
The New York Times에서 NASA와 UN Food and Agriculture Organization에 이르는 조직들이 SKOS에서 주제 목록이 사용 가능하게 되므로, 이 표준은 잘 알려진 어휘를 재사용하기에 더 간편하게 될 뿐만 아니라 동일한 어휘를 사용하는 다른 컨텐츠와 독자의 컨텐츠 사이의 연결을 작성하기에 더 간편하게 된다.
어휘 관리 시스템은 항상 용어와 다른 메타데이터 사이의 관계와 함께 용어를 관리하기 위해 구성되었다. SKOS는 관리하는 것에 대한 더 높은 수준의 관점을 취하며, 이로 인해 더 간편하게 국제화된다. 예를 들어, 기존의 시스템은 "mammal"의 더 광의의 용어와 "dachshund" 또는 "bulldog"의 더 협의의 용어로 "dog" 용어를 저장한다. "mutt" 용어는 별도의 용어가 될 것이고 "dog"는 분류학자가 "mutt"로 사용용 관계라고 하는 것을 보유할 것이다 — 사진에 키워드를 지정하는 사람이 Lassie의 그림에 "mutt" 단어를 지정하려고 하면 어휘 애플리케이션은 대신에 "dog" 단어를 사용하도록 지시할 것이다. "perro" 용어는 "dog"라는 용어에 대해 "스페인어"의 관계를 가질 수 있고, "chien"이라는 용어는 "프랑스어"의 관계를 가질 수 있지만, "perro"의 프랑스 용어에 대해 궁금한 스페인어 사용자는 영어 용어로의 관계로 이들이 연결되어 있음을 알지 못한 채 이를 찾지 못할 수 있다.
이러한 배치의 또 다른 약점은 "mutt"와 "perro" 용어가 "cat" 또는 "gato"(스페인어 용어)와 같이 "dog"로부터 분리된다는 점이다. "mutt", "dog" 및 "perro"가 동일한 대상을 가리킨다고 하더라도 그 관계는 명시적으로 지정되어야 한다. 그림 1은 이러한 관계를 다이어그램으로 표시한다. 실선 화살표는 "더 광의의" 관계(cat와 dog에 대한 mammal, bulldog과 dachshund에 대한 dog)를 표현하고, 점선 화살표는 "dog"에 대한 스페인어("perro") 또는 프랑스어("chien") 상응어, "dog"에 대한 스페인어("chucho") 및 영어("mutt")에서 대안 뿐만 아니라 "cat"에 대한 스페인어("gato")가 레이블된다.
그림 1. 사전 SKOS 분류체계에서 샘플 레이블 관계
SKOS를 통해 다른 종류의 레이블이 있는 개념을 관리하고, 각 레이블은 이와 연관된 언어를 보유할 수 있다. 가장 중요한 레이블은 기본 설정된 레이블이며, SKOS를 통해 각 개념은 각 언어에서 이 중 하나만 보유할 수 있다. 한 가지 개념은 "dog"의 영어 기본 설정된 레이블, "perro"의 스페인어 기본 설정된 레이블 및 "chien"의 프랑스어 기본 설정된 레이블을 가질 수 있다.
또 다른 종류의 레이블은 대안 레이블이며, 이는 SKOS 기반 소프트웨어가 추적되는 레이블을 표현하는 데 사용할 수 있지만 권장되지는 않는다. 예를 들어, "dog"의 영어 기본 설정된 레이블이 있는 개념은 "mutt"의 영어 대안 레이블과 "chucho"의 스페인어 대안 레이블을 가질 수 있다. 관계가 가 명시적으로 입력되어야 하는 개별 용어가 되는 것이 아니라 "dog," "perro," "chien," "mutt" 및 "chucho"는 모두 동일한 개념을 가리키며, 각 애플리케이션의 필요에 따라 해당 개념에 대한 다른 정보를 제공한다. 그림 2는 용어들 사이에 적은 화살표 수와 더 분명한 관계를 통해 SKOS 개념으로 재배열된 그림 1로부터 정보를 시연한다. (이전 그림과 마찬가지로, 실선은 "더 광의의" 관계를 표현한다.) 각 개념에 대한 실제 ID는 어휘 관리 애플리케이션으로 숨겨질 수 있는 URI이다. (그림 2의 텍스트 전용 버전 보기)
그림 2. SKOS에서 샘플 개념 관계
두 가지 다이어그램을 비교할 때, 그림 1에서 확인 가능한 대로, "perro" 및 "mutt"는 "dog"가 가리키는 추가 용어이고 "bulldog"과 "dachshund"는 하지만 그림 2에서 "perro"와 "mutt"가 동일한 개념을 참조하는 반면 "bulldog"과 "dachshund"는 다른 개념임을 확인할 수 있다.
개념은 "더 광의의" 이외에도 SKOS에서 많은 관계 종류를 가질 수 있다. "dog"의 영어 기본 설정된 레이블이 있는 개념은 다른 분류 체계에서 "doghouse" 개념으로 "관련된" 관계를 가질 수 있다. SKOS가 레이블 자체가 아니라 개념 ID로서 고유한 URI를 사용하기 때문에, 주어진 개념과 액세스 가능한 SKOS 어휘에서의 어느 개념이나 사이의 관계를 정의할 수 있다. 비록 이는 NASA나 The New York Times가 유지보수한다고 해도 말이다.
어업과 농업과 같은 식품 관련 도메인에 대해 UN Food and Agriculture Organization의 AGROVOC 시소러스는 진정으로 국제적인 사용자에게 제공해야 한다. 단일 AGROVOC 개념은 수많은 언어에서 기본 설정된 레이블을 보유하고 대안의 레이블을 훨씬 더 많이 가질 수도 있다. 왜냐하면 각 언어로부터 주어진 개념을 지정할 수 있는 대안 레이블의 수에 제한이 없기 때문이다. SKOS는 시소러스 데이터를 조직하는 기존의 용어 기반 접근방식 중 하나가 하는 것보다 용어의 여러 언어를 훨씬 더 간편하게 추적할 수 있는 레이블 특성으로 개념을 사용하고, 이로 인해 다른 문화를 가진 사람들 사이에 식품에 대한 문제에 대해 의사소통하는 것이 훨씬 더 간편해진다.
기본 설정된 레이블과 대안 레이블과 위의 설명한 개념들 사이의 관계에 따라 SKOS는 용어의 정의, 범위 참고, 히스토리 참고 및 각 개념에 대한 다양한 다른 특성을 저장할 수 있다. SKOS가 온톨로지를 지정하기 위해 W3C의 OWL 표준을 사용하여 정의되므로 어휘에서 개념으로 산업 또는 비즈니스에 구체적인 추가 특성을 정의하고 사용하는 것이 매우 간편하다.
이러한 특성은 Dublin Core 어휘, 금융 업계를 위해 개발된 Market Data Definition 또는 Library of Congress에서 개발된 Metadata Object Description Schema 등의 다른 데이터 및 메타데이터 표준에서부터 나올 수 있다. 이는 회사의 시스템에 구체적이고 정보를 관리하는 방법에 대한 부가가치의 일부이기 때문에 다른 사람들은 아무도 사용하지 않는 특성이 될 수도 있다. 예를 들어, 제약 회사가 수의과의 백신에 대해 또 다른 분류 체계의 데이터에 개념을 가리키기 위해 동물 분류 체계에서 새로운 "필수" 관계를 정의할 수 있다.
어휘를 편집하고 관리하기 위한 SKOS 기반 도구는 확장성이 이 표준의 일부임을 이해해야 한다. SKOS 스펙 외의 추가 특성은 데이터로 작업하는 대로 인터페이스의 일부가 되어야 하며, 이는 표준화된 SKOS 특성과 함께 양식과 보고서에 나타난다.
SKOS를 지정하기 위해 사용되는 OWL 언어는 데이터 모델링에 객체 지향적 접근방식과 특정한 중요한 차이점이 있지만, 공통적으로 중요한 한 가지는 이러한 클래스의 클래스, 서브클래스 및 특성을 선언하여 데이터 모델을 정의한다는 점이다(또는 객체 지향적인 용어, 속성을 사용하기 위해). SKOS 온톨로지는 Concept 클래스를 정의하고, 기본 설정된 레이블, 대안 레이블 및 다른 개념으로의 관계는 해당 클래스의 특성으로 모델링된다.
원하는 모든 메타데이터를 주어진 개념에 정의할 수 있지만, SKOS는 메타데이터를 특정 레이블로 지정하는 방법을 제공하지 않는다. 만약 레이블 "chucho"의 소스를 설명하는 데이터를 저장하려고 하면 어떻게 되는가? 또는 최종 편집한 시점이 언제인가 또 누가 편집했는가?
이러한 상황에 부응하기 위해 W3C는 SKOS Extension for Labels(SKOS-XL) 스펙을 발표했으며, 여기에서 개념의 기본 설정, 대안 및 다른 레이블에 대한 값은 문자열이 아니지만 확장 스펙으로 정의된 새 Label 클래스의 멤버이다. 클래스의 인스턴스가 되는 이러한 레이블은 지정하려는 메타데이터를 모두 가질 수 있으며, 이는 훨씬 더 많은 유연성을 부여한다.
이전에 언급한 대로 SKOS가 개념 ID로서 고유 URI를 사용하기 때문에 주어진 개념과 다른 SKOS 기반 개념 사이의 관계를 정의할 수 있다. 누구의 URI ID를 알고 있으며, 주어진 개념과 동일한 분류 체계에 있는지 아니면 별도의 회사별로 웹에서 발표된 다른 분류 체계에 있는지 등이다. 이 기능은 양 극단 사이에 속하는 상황에도 훌륭하다. 즉, 동일한 엔터프라이즈 내의 다른 그룹들이 관리할 자체적인 어휘를 가질 때, 이러한 어휘의 중앙으로 관리된 하나의 어휘로의 통합은 장점보다는 단점이 많을 수 있다. 왜냐하면 어휘 유지보수가 늘어나는 데이터 규모로 더 복잡하게 되고 데이터는 다른 그룹들의 요구 사이에 타협에 도달하도록 개정되어야 하기 때문이다. 마케팅 부서와 수리 부서는 "고객"이라는 용어를 사용할 때 서로 다른 것을 의미할 수 있고, 이렇게 하는 데 합리적인 이유가 있을 수 있다. 즉, 동일한 정의를 사용하도록 둘 다 강제 실행하는 것은 이 둘을 위한 어휘의 가치를 떨어뜨릴 수 있다.
SKOS를 통해 다른 어휘로부터 나온 개념들 사이의 관계를 정의할 수 있다. 이로 인해 올바르게 정의된 개념 관계 메타데이터는 다른 부서로부터 나온 모든 어휘를 어느 그룹의 요구에도 전적으로 부합하지 않는 하나의 단순 어휘로 개정하고 결합하도록 강제 실행하지 않고 이를 함께 사용하는 후크를 제공한다. 관계는 "관련된" 또는 "더 광의의" 등의 표준 SKOS 관계가 될 수 있다(예를 들어, 마케팅 부서의 "고객" 개념은 수리 부서의 개념보다 더 광의적이라고 말할 수 있다.) 하지만, 다시 자체적인 사용자 정의된 관게도 정의할 수 있다.
시맨틱 기술에 관심을 갖게 되면, 많은 사람들은 최초로 애플리케이션을 빌드하기 전에 RDF 데이터 모델, 이를 표현하기 위한 다양한 구문, SPARQL 쿼리 언어 및 RDF 스키마 및 OWL로 데이터를 모델링하는 방법에 대해 배워야 한다고 걱정한다. SKOS 기반 어휘 관리자를 사용할 때, 양식을 입력하고 일반적인 사용자 인터페이스 위젯을 사용하여 SKOS가 내재된 기초 W3C 표준을 학습할 필요없이 데이터를 관리할 가능성이 높지만, 이에 대해 약간만 배우려고 한다면 데이터를 더 많이 활용할 수 있다. 예를 들어, SPARQL 쿼리 언어를 사용하여 어휘 관리 패키지의 일부가 될 수 없는 질문을 할 수 있고, 위에서 언급한 바와 같이 새 특성은 물론 클래스도 정의하여 더 많은 맞춤형 메타데이터를 추적할 수 있다.
SKOS 온톨로지 사용 여부와 관계없이 독자의 데이터를 더 광범위한 데이터에 연결할 수도 있다. 독립적으로 작성된 데이터를 연결하는 RDF 데이터 모델의 기능은 Semantic Web을 웹으로 만드는 것이고, 데이터세트를 결합하는 기능은 이 기능의 중요한 성과이다. 예를 들어, The New York Times는 SKOS 기반 주제 헤더 인덱스를 웹에서 자유롭게 사용 가능하게 만들어, 다른 게시자들이 자체적인 컨텐츠에 대해 이러한 주제 헤더를 사용하도록 할 수 있으므로, 이러한 게시자에게 관련된 New York Times 기사에 연결을 제공한다. 더 중요한 것은 The New York Times의 경우 이는 이러한 주제 헤더로 태그된 그들의 기사에 더 많은 트래픽을 구동한다는 점이다.
SKOS 데이터에 일부 특성을 추가하고 몇 가지 SPARQL 쿼리를 이에 대해 실행한 후에 새로운 온톨로지를 SKOS와 구별하여 정의하는 것에 대해 생각할 수 있고(또는 확장하기 위해 SKOS 외에도 다른 기존 표준 온톨로지 찾기) Semantic Web 기술을 더욱 더 활용할 수 있다.
특정 온톨로지가 안내하는 데이터를 편집할 수 있는 어느 RDF 도구나 SKOS OWL 온톨로지를 로드할 수 있고 SKOS 개념을 작성하고 적절한 메타데이터로 특성을 입력할 수 있다. RDF 배경 지식이 없는 직원이 어휘를 관리하는 경우 다음 몇 가지 도구를 사용할 수 있다.
-
TopQuadrant의 Enterprise Vocabulary Net(EVN)은 엔터프라이즈에 걸쳐서 제어된 어휘의 관리를 위한 SKOS 데이터 모델과 관련하여 제작되는 상업적인 웹 기반 협업 시스템이다.
-
PoolParty는 상업용 시소러스 관리 및 텍스트 마이닝과 연결된 데이터 기능을 포함한 SKOS 편집기 시스템이다.
-
Protégé 온톨로지 편집기용 SKOS 기반 플러그인을 통해 SKOS에 표현된 시소러스를 편집할 수 있다. SKOS 기반 및 Protégé는 둘 다 오픈 소스이다.
-
iQvoc은 SKOS를 가져오고 내보낼 수 있는 어휘를 관리하기 위한 오픈 소스 도구이다.
-
TemaTres는 SKOS 파일로 어휘 데이터를 출력할 수 있는 오픈 소스 어휘 관리자이다.
어휘 관리 도구로 SKOS의 가져오기 및 내보내기는 결과적으로 스프레드시트 프로그램에서 콤마로 구분된 값의 가져오기 및 내보내기와 같이 일반적으로 되어야 한다. 표준을 지원하지 않는 분류 체계 관리 프로그램을 사용하는 경우, 작성자는 독자가 확인하려는 것을 인식할 수 있다.
SKOS의 RDF 기초는 모든 데이터 구조를 스스로 정의하고 구현해야 했던 분류 체계 관리 시스템을 빌드할 수 있는 것보다 훨씬 더 신속하게 SKOS 편집 시스템을 스스로 빌드하기 위해 RDF 인식 애플리케이션 개발 도구 및 라이브러리를 활용할 수 있음을 의미한다.
하나 이상의 관리하기에 복잡한 대규모의 제어된 어휘가 있다면 새 형식을 사용하기 위해 이 모두를 변환하는 것은 크고 비용이 많이 드는 작업이 될 수 있다. 파일럿 프로젝트로서 SKOS로 서브세트를 변환하는 것은 훨씬 더 간편할 수 있으며, 몇 가지 다른 서브세트를 변환한 다음에 어휘 경계에 걸쳐서 적절한 개념 관계를 정의하여 결과적으로 연결하는 경우, 자체 조직에서 SKOS의 이점을 확인하기 시작한다. 표준에 대한 자유롭고 상업적인 소프트웨어 둘 다에 대한 지원이 늘어나면서, SKOS는 어휘를 관리하고 표준화에 관심을 가지는 사람이라면 누구나 반드시 추가로 더 조사해 볼 가치가 있다.
교육
- Thinking XML: Enrich schema definitions with SKOS(Uche Ogbuji 저, developerWorks, 2008년 11월):
SKOS 정의가 더 정확한 시맨틱을 XSD 스키마의 요소 정의의 문서에 어떻게 추가할 수 있는지 그리고 애플리케이션이
이 문서를 어떻게 활용할 수 있는지에 대해 알아보자.
- Subject classification with DITA and SKOS(Erik Hennum, Robert Anderson 및 Colin Bird 공저, developerWorks, 2005년 10월):
컨텐츠의 더 우수한 검색, 통합 및 기타 처리를 위해 DITA 주제를 구성하는 데 SKOS가 어떻게 도움을 줄 수 있는지
알아보자.
- Integrate disparate data sources with Semantic Web technology(Bob DuCharme 저, developerWorks, 2010년 9월):
RDF 데이터 모델이 RDF에서 필요하지 않은 로컬 및 원격 데이터를 어떻게 간편하게 수집할 수 있는지
알아보자.
- SKOS Simple Knowledge Organization System Reference(W3C Recommendation, 2009년 8월):
W3C 스펙에서 SKOS의 공식적 세부사항을 알아보자.
- SKOS Simple Knowledge
Organization System eXtension for Labels (SKOS-XL)Namespace Document - HTML
Variant(W3C Recommendation, 2009년 8월): 더 세분화된 메타데이터를 허용하는 SKOS 확장에 대한 W3C
스펙에 대해 살펴보자.
- SKOS Datasets:
이러한 W3C 목록에서 다양한 제공자로부터 공개적으로 사용 가능한 SKOS 데이터세트를 살펴보자.
- 이
저자의 기사 더 보기(Bob DuCharme 저, developerWorks, 2010년 11월 - 현재):
시맨틱, DITA 및 다른 기술에 대한 기사를 읽어보자.
- developerWorks의 XML 영역: XML 분야의 기술을 향상시키는 데 도움이 되는 참고자료를 얻을 수 있다. XML 기술 자료에서 다양한 기술 관련 기사와 팁, 튜토리얼, 표준 및 IBM Redbook을 볼 수 있다.
- IBM XML 인증: XML 및 관련 기술에 대한 IBM 인증 개발자가 되는 방법을 찾아볼 수 있다.
- developerWorks 기술 행사 및 웹 캐스트: 이러한 세션에 참가하여 최신 기술에 대한 정보를 얻을 수 있다.
- Twitter의 developerWorks 페이지: 오늘 가입하여 developerWorks 트윗을 팔로우하자.
- developerWorks
podcasts: 소프트웨어 개발자의 흥미로운 인터뷰와 토론을 확인할 수 있다.
- developerWorks on-demand demos: 입문자를 위한 제품 설치 및 설정 과정에서 숙련된 개발자를 위한 고급 기능의 활용에 이르기까지 다양한 데모를 제공한다.
제품 및 기술 얻기
- TopQuadrant의 Enterprise Vocabulary Net (EVN):
상호 연결되어 제어되는 어휘, 분류 체계, 시소러스 및 온톨로지의 간소화된 개발과 관리를 위한
웹 기반 솔루션을 살펴보자.
- PoolParty:
Semantic Web용 시소러스 관리 시스템과 SKOS 편집기를 알아보자.
- SKOSed plug-in for the Protégé ontology editor:
이 플러그인으로 Simple Knowledge Organisation System(SKOS)에 표현된 시소러스를 작성하고 편집하자.
- iQvoc:
SKOS를 가져오고 내보낼 수 있는 어휘를 관리하기 위한 오픈 소스 도구를 확인하자.
- TemaTres:
SourceForge.net에서 무료로 TemaTres 소프트웨어를 다운로드하고 지식, 시소러스, 분류 체계 및 다국어 어휘의
관리 공식 표현에 대한 이 웹 애플리케이션을 시도해보자.
- IBM 제품 평가판: IBM SQA Sandbox의 온라인 시험판을 다운로드하거나 살펴보고 DB2®,
Lotus®, Rational®, Tivoli®및
WebSphere®.
토론
- XML 영역 토론 포럼: 여러 XML 관련 토론에 참여해 볼 수 있다.
- developerWorks 커뮤니티: 개발자가 운영하고 있는 블로그,
포럼, 그룹 및 위키를 살펴보면서 다른 developerWorks 사용자와 의견을 나눌 수 있다.
