G·Graph Daily Lab
DAY 59 / 100
내 학습 기록
DAY 59개념·실험RDFS·OWL과 추론

열린 세계와 닫힌 세계

기록에 없는 사실은 거짓일까요, 아직 모르는 것일까요? 이 가정 하나와 ‘이름이 다르면 다른 대상인가’라는 가정이 데이터베이스와 OWL의 답을 갈라놓습니다.

약 20분조작형 실험 확인 퀴즈
A SMALL DETOUR

이번 회차, 내 속도로.

기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 59로 돌아옵니다.

난이도·관심 주제 고르기
이번 회차는 어느 속도로 볼까요?
더 살펴볼 주제 1~2개 선택

1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.

이렇게 다녀와요 1단계 · 약 12분

  1. 출발 · DAY 59OWA·CWA·고유 이름
  2. 1. 관심 주제동일성 주장과 병합추가 23 · 새 추가 수업
  3. 복귀 · DAY 59원래 회차 이어가기
  • 동일성 주장과 병합 · DAY 59에서 OWL에 고유 이름 가정이 없다는 것을 배웠다면, 반대로 ‘같다’고 선언하는 owl:sameAs가 어떤 결론을 퍼뜨리는지 봅니다.

선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.

복귀: DAY 59 → 본과정 다음 회차: DAY 60

핵심 개념

데이터베이스는 보통 닫힌 세계 가정(closed-world assumption, CWA)을 씁니다. 기록에 없으면 거짓입니다. 민수의 근무 기록에 B연구소가 없으면 ‘민수는 B연구소 직원이 아니다’가 답입니다. OWL 2 Primer는 이와 달리 OWL 문서에서는 빠진 사실이 단지 기록되지 않았을 뿐 참일 수도 있다고 보며, 이를 열린 세계 가정(open-world assumption, OWA)이라 부릅니다.

열린 세계에서 ‘민수는 B연구소 직원이 아닌가?’의 답은 ‘알 수 없음’입니다. 여러 출처가 저마다 일부만 아는 웹 환경에 맞는 가정이지만, 부정적 결론을 얻으려면 명시적인 정보가 필요합니다. 예를 들어 ‘사람은 최대 한 연구소에서 일한다’는 기수 제한과 ‘A연구소와 B연구소는 다르다’는 진술이 함께 있어야 B연구소 직원이 아니라고 추론됩니다.

OWL에는 고유 이름 가정(unique name assumption, UNA)도 없습니다. 서로 다른 IRI가 같은 대상을 가리킬 수 있습니다. 같다고 말하려면 owl:sameAs, 다르다고 말하려면 owl:differentFrom이나 owl:AllDifferent를 씁니다. 그래서 ‘최대 한 연구소’ 제한이 있는데 두 연구소가 기록되면, 데이터베이스는 제약 위반을 내지만 OWL 추론기는 두 연구소 이름이 같은 대상이라고 결론 냅니다.

OWL 2 DL의 형식 기반은 기술 논리(description logic)입니다. 기술 논리 의미론은 공리를 만족하는 모든 가능한 세계를 고려하고, 그 모두에서 참인 것만 결론으로 냅니다. 사실을 더해도 이전 결론이 철회되지 않는 단조성(monotonicity)도 여기서 나옵니다. 그래서 ‘빠진 값 찾기’나 ‘개수 확인’처럼 지금 가진 데이터만 보고 판단해야 하는 일은 SHACL이나 SQL 같은 닫힌 세계 도구에 맡기는 것이 자연스럽습니다.

OWL은 기록이 없으면 거짓이 아니라 모름으로 보고 서로 다른 이름이 같은 대상일 수 있다고 보므로, 부정과 중복 판단에는 명시적 공리나 닫힌 세계 검증이 필요합니다.

작은 예제로 따라가기

01

데이터에는 :민수 :worksAt :A연구소만 있고, 질의는 ‘민수는 B연구소 직원이 아닌가?’입니다.

02

닫힌 세계(DB)에서는 B연구소 기록이 없으므로 ‘예, 직원이 아니다’라고 답합니다.

03

열린 세계(OWL)에서는 ‘알 수 없음’입니다. 민수가 최대 한 곳에서 일한다는 기수 제한과 :A연구소 owl:differentFrom :B연구소가 함께 있어야 ‘직원이 아니다’가 추론됩니다.

직접 실험해 보기

같은 질의를 ‘닫힌 세계(DB)’와 ‘열린 세계(OWL)’로 번갈아 실행해 답이 어떻게 바뀌는지 보고, 고유 이름 가정 토글을 켜고 끌 때 결론이 달라지는 질의를 찾아 적으세요.

LIVE EXPERIMENT · OPEN WORLD

기록이 없을 때 ‘아니오’와 ‘모름’ 가르기

저장된 사실 4개
  1. :민수 :worksAt :A연구소 .명시
  2. :김민수 :worksAt :A연구소 .명시
  3. :지아 :worksAt :B연구소 .명시
  4. :서준 a :Person .명시
서준은 A연구소 직원이 아닌가? → 예(직원이 아님)기록에 없으면 거짓으로 봅니다(실패로서의 부정).
같은 데이터, 두 가정의 답 비교
질의닫힌 세계열린 세계
서준은 A연구소 직원이 아닌가?예(직원이 아님)알 수 없음
민수는 B연구소 직원이 아닌가?예(직원이 아님)알 수 없음
민수는 A연구소 직원인가?예예
A연구소 직원은 몇 명인가?2명최소 2명

OWL은 기록이 없으면 ‘거짓’이 아니라 ‘모름’으로 두고, 이름이 다르다고 다른 대상이라고 가정하지도 않습니다(같음은 owl:sameAs, 다름은 owl:differentFrom으로 명시).

이번에는 직접 풀어 보세요

정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.

문제 1
힌트 보기

‘이메일 트리플이 기록되지 않았다’와 ‘이메일이 없다’는 같은 뜻일까요?

풀이와 비교하기

열린 세계에서는 이메일 트리플이 없어도 ‘이메일이 없다’가 아니라 ‘모른다’입니다. 그래서 ‘이메일이 없는 고객’은 추론으로 확정되지 않습니다. 대안은 SHACL의 sh:minCount 1이나 SPARQL의 FILTER NOT EXISTS처럼 지금 가진 데이터만 보는 닫힌 세계식 검사를 쓰는 것입니다.

풀이와 확인 표시는 이 브라우저에 저장됩니다.

YOUR NOTES

오늘 이해한 것과 다시 볼 것

계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.

메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.

오늘의 이해 확인

OWL에 ‘민수는 최대 한 연구소에서 일한다’는 제한과 :민수 :worksAt :A연구소, :민수 :worksAt :B연구소가 있고, A와 B가 다르다는 진술은 없습니다. 추론기는?

완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1

FURTHER READING

더 깊이 읽기

예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.

OWL 2 Web Ontology Language PrimerW3CA Description Logic PrimerKrötzsch, Simančík & Horrocks (2012)

이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.