10분
식별자 결합과 교차 사전 만들기
소스와 온톨로지를 잇는 매핑
식별자 결합과 교차 사전 만들기
소스와 온톨로지를 잇는 매핑 > 소스와 온톨로지를 잇는 매핑
학습 목표
- 표기가 흔들리는 데이터를 식별자로 결합한다
- 코드 방언을 교차 사전으로 흡수한다
식별자 결합과 교차 사전
매핑 시트의 두 행이 특별히 까다롭습니다 — **호출부호(결합키 보조)**와 계선장소코드(교차사전 조회). 앞 모듈의 함정 ①과 ③이 실물로 돌아오는 지점입니다.
결합키의 층위
같은 선박을 여러 소스가 다르게 부릅니다. 결합은 강한 것부터 시도합니다.
- IMO 번호 — 선체 평생 불변. 있으면 무조건 이것
- 호출부호(Call Sign) — IMO 번호가 없을 때의 보조. 단 가변이라 시점 정보와 함께 다뤄야 합니다
- 선박명 — ⚠️ 결합키로 쓰지 않습니다. "한바다호 / HANBADA / HAN BADA HO"가 같은 배인지 통계로는 알 수 없습니다
식별자가 아예 없는 레코드만 이름 유사도로 보조 매칭하고, 확신이 낮으면 병합하지 말고 후보로 남깁니다. 잘못 합친 개체를 나중에 분리하는 일이 합치는 일보다 훨씬 어렵습니다.
교차 사전 (crosswalk)
계선장소 코드, 항만 코드가 시스템마다 자체 체계입니다. UN/LOCODE와의 대응표를 우리가 만들어야 합니다.
| 원천 코드 | 원천 시스템 | 표준 코드 | 대상 | 확인 근거 |
|---|---|---|---|---|
| PNC-B2 | Port-MIS | KRPUS | Berth(부산신항 2선석) | 시설제원 코드표 |
| … |
이 대응표 자체가 그래프의 자산입니다. 코드 노드로 적재해 두면 나중에 "이 코드는 어디서 왔나"를 그래프가 스스로 답합니다.
실습
- 소스 두 개를 골라 같은 선박을 결합해 봅니다. IMO 번호로 결합되는 비율과 호출부호로 내려가는 비율을 숫자로 셉니다.
- 결합 실패 레코드를 표본으로 열어 원인을 분류합니다(식별자 결측 / 표기 오류 / 실제로 다른 배).
- 계선장소 코드의 고유값을 전부 뽑아 교차 사전 초안을 만듭니다. ⚠️ 사전에 없는 코드가 나오면 추측으로 채우지 말고 격리합니다 — 잘못된 대응 하나가 그 선석의 모든 질의를 오염시킵니다.
- 병합률과 미해소 건수를 리포트로 남깁니다. 이 숫자가 AN-09(식별자 불일치 탐지)의 출발점입니다.
에디터 로딩 중...