이번에 더 배울 것
SKOS 개념 체계는 skos:ConceptScheme 하나와 그 안의 skos:Concept들로 이루어집니다. 개념은 skos:inScheme으로 체계에 속하고, 체계는 skos:hasTopConcept로 가장 넓은 개념을 가리킵니다. 개념은 인스턴스를 갖는 클래스가 아니라 분류와 검색의 단위라서, 문서나 상품을 개념에 연결할 때는 SKOS Primer의 안내처럼 dct:subject 같은 다른 어휘의 속성을 씁니다.
레이블에는 엄격한 규칙이 있습니다. SKOS Reference에 따르면 한 개념은 언어 태그마다 skos:prefLabel을 최대 하나만 가지며, prefLabel·altLabel·hiddenLabel은 서로소라서 같은 문자열을 대표 표기와 대체 표기에 동시에 쓰면 일관성 조건을 어깁니다. hiddenLabel은 화면에 보이지 않지만 검색에는 걸리게 할 표기, 예를 들어 흔한 오타에 씁니다. Primer는 한 체계 안에서 두 개념이 같은 prefLabel을 갖지 않도록 권합니다.
방향도 헷갈리기 쉽습니다. ex:라테 skos:broader ex:커피는 ‘라테의 더 넓은 개념이 커피’라는 뜻으로, 주어가 더 좁은 쪽입니다. broader와 narrower는 서로 역관계입니다. SKOS는 broader를 이행적으로 정의하지 않기 때문에 라테–커피–음료에서 ‘라테 broader 음료’는 도출되지 않습니다. 계층 전체가 필요하면 broader의 상위 속성인 skos:broaderTransitive로 추론한 결과를 씁니다. skos:related는 계층이 아닌 연관 관계이며 대칭입니다.
작은 예제로 따라가기
ex:음료체계 a skos:ConceptScheme ; skos:hasTopConcept ex:음료 .로 체계와 최상위 개념을 선언합니다.
ex:라테 a skos:Concept ; skos:inScheme ex:음료체계 ; skos:prefLabel "라테"@ko, "latte"@en ; skos:altLabel "카페라테"@ko ; skos:broader ex:커피 .
ex:커피 skos:broader ex:음료 .가 더해지면 ex:라테 skos:broader ex:음료는 도출되지 않지만 ex:라테 skos:broaderTransitive ex:음료는 도출됩니다.
레이블 하나 더 붙이기
라테 개념에 아래 트리플을 하나씩 추가할 때 SKOS의 일관성 조건을 지키는지 먼저 예상하세요.
언어 태그 하나당 prefLabel은 최대 하나입니다. 다른 표기는 altLabel로 붙여야 합니다.
학습을 시작하면 새 문제를 직접 풀고 확인 퀴즈를 마친 뒤 선택한 본과정 회차로 돌아갑니다.