온톨로지 라벨 검수SKOS prefLabel 중복대표명 별칭 언어 태그SHACL uniqueLang 검수

온톨로지 라벨 검수: 대표명·별칭·언어 태그

온톨로지 라벨을 개념 ID·대표명·별칭·언어 태그로 나눠 검수합니다. SKOS 무결성 조건과 화면 표시 정책을 구분하고, 이름 충돌과 다국어 표본을 대조하는 인수표를 제안합니다.

이 글을 쓴 알파카랩스카카오·네이버·쿠팡 출신, 재하청 0%, 대기업·공공기관 등 18개사+ 레퍼런스

발행 ·알파카랩스

온톨로지 라벨은 개념 ID·역할·언어 태그로 검수합니다. 2026-11-01 기준, 이름이 같다는 이유로 개념을 합치지 않습니다.

같은 업무 개념에 이름이 여러 개 붙어 있으면 어느 것을 지워야 할까요? 대표명 충돌, 정상 별칭과 언어별 표현은 처리 기준이 다릅니다. 용어사전을 AI 조회에 연결하는 담당자가 쓸 라벨 반례표와 표시 인수표를 제안합니다.

라벨 검수에서 먼저 고정할 대상은 무엇인가요?#

이미 식별한 개념 ID와 검사할 라벨 속성, 언어 태그를 고정합니다. 원천 문자열을 정규화한 값만 남기지 말고 원문과 역할 매핑의 근거도 보존하세요. 같은 이름의 다른 개념을 하나로 합치는 판단은 별도입니다.

현업은 대표명·별칭과 요청 언어별 기대 표시를 승인합니다. 데이터 담당자는 원천 ID·라벨 역할·태그의 변환을 확인하고, 화면 담당자는 검색 후보와 최종 선택에 개념 ID가 유지되는지 검수하세요. 동일 개체의 판단이 필요하다면 온톨로지 엔터티 해소의 식별 근거를 먼저 정리합니다.

이 글은 SKOS 라벨 속성을 쓰기로 한 범위의 검수 제안입니다. 모든 온톨로지에 같은 어휘를 강제하거나 실제 고객의 라벨 장애를 보고하는 글은 아닙니다. 계층의 경로 문제는 온톨로지 계층 순환 검수와 구분합니다.

대표명과 별칭은 어떤 조건으로 구분하나요?#

SKOS는 라벨 역할을 구분하고 대표명에는 언어 태그별 제약을 둡니다. 개념 자체와 그 개념을 부르는 표현을 나눠 보세요. 아래 역할표는 라벨을 화면과 검색에 연결할 때의 출발점입니다.

라벨 속성표현의 역할인수 때 구분할 것
skos:prefLabel선호하는 대표 표현개념 ID·언어 태그별 대표값
skos:altLabel대체 표현·별칭같은 개념의 표현인지 업무 승인
skos:hiddenLabel표시를 위한 대표명과 구분한 검색용 표현공개 화면·검색의 사용 정책과 접근 통제 분리

W3C SKOS Primer의 개념·라벨 설명은 URI로 식별한 개념과 자연어 표현을 구분합니다. 2009-08-18 공개된 Working Group Note이며 규범적 기준은 Reference에서 확인합니다. 확인일은 2026-11-01입니다.

SKOS Reference의 라벨 무결성 조건에서 S13은 prefLabel·altLabel·hiddenLabel 속성이 쌍별로 서로소임을, S14는 한 리소스가 언어 태그별로 prefLabel 값을 최대 하나만 가짐을 정합니다. 2009-08-18 권고안이며 2026-11-01 확인했습니다. 서로 다른 개념의 이름까지 전역에서 하나로 만들라는 규칙은 아닙니다.

어떤 표본으로 충돌과 정상 별칭을 나누나요?#

같은 ID·같은 언어의 대표명 충돌과 다른 언어의 대표명을 따로 넣습니다. 동일한 리터럴을 대표명과 별칭 양쪽에 둔 표본도 필요합니다. 다음은 배송처·납품처를 같은 개념의 표현으로 업무 승인했다고 가정한 가상 구성입니다.

@prefix ex: <https://example.org/concept/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

ex:shipTo a skos:Concept ;
  skos:prefLabel "배송처"@ko ;
  skos:altLabel "납품처"@ko ;
  skos:prefLabel "Ship-to"@en .

아래 각 행은 서로 독립된 합성 표본입니다. 따옴표와 태그 표기는 리터럴의 발췌이며, c1과 c2는 서로 다른 가상 개념 ID입니다. 판정은 선택한 S13·S14 조건에 한정합니다.

독립 라벨 표본S13·S14 조건 판정업무에서 추가 확인
c1 대표: 배송처@ko·납품처@koS14 위반대표 표현과 별칭 역할 승인
c1 대표: 배송처@ko / 별칭: 납품처@ko두 조건 위반 없음동일 개념 표현의 승인 근거
c1 대표: 배송처@ko·Ship-to@en두 조건 위반 없음번역 의미·언어별 표시
c1 대표·별칭 모두 배송처@koS13 위반원문을 보존하고 역할 매핑 검토
c1 대표: 배송처@ko·배송처@ko-KR두 조건 위반 없음요청 언어와 대체 표시 우선순위
c1·c2 각각 대표: 배송처@ko두 조건 위반 없음ID·업무 맥락으로 검색 후보 구분

표는 2026-11-01 알파카랩스가 임시 Python 함수로 선택 조건의 기대값을 대조한 자사 합성 표본입니다. 정제된 언어 태그 문자열 행만 비교했으며 Turtle·RDF 파서, SHACL 엔진이나 실제 고객 저장소를 실행하지 않았습니다. 전체 SKOS 적합성·언어 태그 문법·번역 의미를 검증한 결과도 아닙니다.

ko와 ko-KR을 같은 태그로 합쳐 위반을 만들지 않습니다. 화면에서 ko-KR→ko→en 순서로 표시 후보를 찾기로 했다면, 그 순서는 자사 설계 예시인 별도 정책입니다. 태그별 대표명이 존재한다는 사실만으로 어떤 언어를 우선 표시할지는 결정되지 않습니다.

SHACL 규칙을 넣으면 표시 정책도 검증되나요?#

선언한 제약과 표시 정책은 각각 검수해야 합니다. 언어 태그 중복을 검사했다고 특정 언어의 존재나 화면 선택까지 확인한 것은 아닙니다. 검사 대상 속성과 필요한 조건을 먼저 적으세요.

SHACL의 uniqueLang 정의는 같은 비어 있지 않은 언어 태그를 쓰는 값 노드의 중복을 검사합니다. disjoint 정의는 지정한 두 속성의 값이 겹치는지 확인합니다. 2017-07-20 권고안이며 2026-11-01 확인했습니다. S13의 세 역할 전체를 검수하려면 비교할 속성 쌍을 빠뜨리지 않도록 정합니다.

prefLabel에 uniqueLang을 설정하는 것만으로 한국어 대표명이 필수이거나 모든 라벨에 언어 태그가 붙는다고 보장하지 않습니다. 그런 요구는 별도 제약으로 명시하세요. 표준 조건을 만족해도 잘못 번역한 이름이나 잘못 선택한 표시 언어가 남을 수 있습니다.

최신 공개 동향으로는 2026-10-30의 SHACL 1.2 Core 작업 초안을 확인했습니다. 확인일은 2026-11-01이며 확정 권고안이나 현재 도구의 지원 보장을 뜻하지 않습니다. 위에서 설명한 기존 제약을 이번에 새로 생긴 기능으로 소개하지 않습니다.

검사 결과가 비어 있다면 대상과 실행 완료 여부도 함께 확인합니다. 검사 범위를 빠뜨리는 문제는 SHACL 검증 대상 누락 점검에서 별도로 다룹니다. 숨은 라벨이라는 이름도 접근 권한을 차단하는 보안 기능으로 해석하지 않습니다.

원천 이름부터 화면까지 무엇을 인수하나요?#

같은 개념 ID를 기준으로 원천 명칭·라벨 역할·태그·검사 결과·화면 표시를 연결합니다. 충돌 표본은 위반으로 보고하고 정상 다국어 표본은 허용하는지 함께 확인합니다. 다음은 2026-11-01 작성한 자사 인수 제안입니다.

검수 경계남길 비식별 증거인수 판단
원천→라벨 매핑개념 ID·원문·역할·언어 태그·매핑 버전원문과 승인한 변환 근거 보존
대표명 충돌같은 ID·태그의 서로 다른 대표값충돌 보고·역할 변경 승인
역할 간 겹침같은 ID에서 양쪽 속성의 동일 리터럴문자열·태그를 함께 비교
언어별 표시요청 언어·선택값·대체 표시 경로합의한 우선순위·언어 부재 안내
이름이 같은 검색 후보각 후보의 ID·업무 맥락다른 개념을 임의 병합하지 않음
규칙·매핑 변경반례 재검수와 이전 매핑/승인 이력오수정 영향 확인·복원 조건 검수

라벨 역할을 바꾸더라도 원천 명칭과 승인 이력을 삭제하지 않습니다. 검색 인덱스와 화면이 이전 이름을 참조하는지도 확인하세요. 모델 전체의 변경·복원 흐름은 온톨로지 스키마 버전과 롤백에서 이어서 볼 수 있습니다.

구축을 의뢰할 때 어떤 자료를 준비하나요?#

비식별 개념 ID와 원천 명칭, 후보 역할·언어 태그, 요청 언어별 기대 표시를 준비합니다. 어느 표현이 대표이고 어느 것이 별칭인지 판단할 현업 담당자도 정하세요. 이 자료로 라벨 규칙과 표시 인수표 초안을 협의할 수 있습니다.

알파카랩스의 공개 온톨로지 구축·검수 범위는 명칭·공통 식별자·원천 매핑·사람 검수와 AI 조회, 운영 인수를 협의한다고 설명합니다. 2026-11-01 확인한 회사 자기표기이며 모든 SKOS·SHACL 기능의 기본 제공이나 번역 정확도·고객 성과 보장은 아닙니다. 비용과 일정은 자료·접근 범위를 확인한 뒤 합의합니다.

다음 검토일은 2026-12-01입니다. 규격이나 라벨 정책·원천 매핑·검색 및 화면 소비자가 바뀌면 같은 반례로 먼저 재검수합니다.

온톨로지 라벨 검수에서 자주 묻는 질문은 무엇인가요?#

같은 개념의 한국어 대표명이 둘이면 어떻게 하나요?
같은 개념과 같은 언어 태그에 서로 다른 prefLabel 값이 있으면 SKOS S14 위반입니다. 업무 책임자가 대표 표현과 별칭의 역할을 승인하도록 하세요. 검사 결과만으로 어느 원천 명칭을 지울지 결정하지 않습니다.
한국어와 영어 대표명이 함께 있으면 중복인가요?
서로 다른 언어 태그의 대표명이 있다는 이유만으로 S14 위반은 아닙니다. 번역이 같은 개념을 표현하는지와 요청 언어에서 무엇을 표시할지는 별도로 검수합니다. 선택한 조건의 위반이 없다는 사실을 번역 품질 보증으로 바꾸지 않습니다.
같은 문자열을 prefLabel과 altLabel에 모두 넣어도 되나요?
같은 개념에서 동일한 리터럴을 두 역할에 함께 쓰면 S13 위반입니다. 리터럴을 비교할 때 문자열과 언어 태그를 함께 확인하세요. 원천 명칭을 보존한 채 역할 매핑을 검토합니다.
uniqueLang을 켜면 한국어 대표명이 반드시 생기나요?
uniqueLang은 같은 비어 있지 않은 언어 태그가 값 노드들에 중복되는지 검사합니다. 특정 언어의 존재나 모든 값의 언어 태그를 요구하는 조건까지 대신하지 않습니다. 필요한 필수 조건과 표시 정책을 따로 선언하고 표본으로 확인하세요.
서로 다른 개념 ID에 같은 대표명이 있으면 합쳐야 하나요?
이름만으로 개념의 동일성을 확정하지 않습니다. 같은 명칭의 검색 후보가 여러 개면 개념 ID와 업무 맥락을 함께 보여주고 선택 조건을 정하세요. 병합은 원천과 식별 근거를 확인하는 별도 검수입니다.