본문으로 건너뛰기
Junsu Kim

Posts

온톨로지는 세 번 만들어봐야 안다

온톨로지라는 말을 형식 온톨로지, 프로퍼티 그래프, 운영 온톨로지로 나누어 학습하는 로드맵이다.

수정:

이 글은 표준 개념 글이 아니라 학습 로드맵이다. 표준을 읽을 때 필요한 층위 구분은 국제표준은 시스템 사이의 계약이다에 두었다. 온톨로지라는 말을 형식 온톨로지, 프로퍼티 그래프, 운영 온톨로지로 나누어 직접 만들어 보는 계획을 정리한다.

파운드리 도입을 리서치하다가 알았다. ‘온톨로지’라는 한 단어가 세 가지 다른 물건을 가리킨다. 문서만 읽으면 차이가 흐려지므로, 작은 산출물을 만들어 구분한다.

한 단어, 세 가지 물건

형식 온톨로지: W3C의 OWL과 RDF다. 추론기가 정의로부터 새 사실을 자동으로 도출한다.

프로퍼티 그래프: Neo4j 계열이다. 추론기는 없고, 노드와 엣지로 관계를 빠르게 훑는다.

운영 온톨로지: 팔란티어식이다. Object, Link, Action으로 현재 상태를 들고, 버튼이 데이터로 되돌아 쓴다.

8주, 주 3~4시간. 셋을 각각 손으로 만들고, 마지막에 우리 도메인(OneRoster, xAPI, CASE)의 Learning Ontology v0.1로 수렴시킨다. 명단의 한 줄은 OneRoster는 누가 그 반인지를 넘긴다에서, 학습 기록의 한 줄은 학습 기록은 한 줄이 한 건이다에서 이미 닫아 두었다. 이 로드맵은 그 두 줄 위에 놓인다.

운영 규칙

  1. 체크는 이 파일을 고치는 커밋으로만 바꾼다. 커밋 히스토리가 타임스탬프다.
  2. 예제는 항상 우리 데이터로 치환한다. 피자로 배우면 남의 지식으로 끝난다.
  3. 산출물 없이 다음 Phase로 넘어가지 않는다.
  4. Phase 2에서 Description Logic 토끼굴에 들어가지 않는다. 1주에서 끊는다.

아래를 스크롤하면 Phase가 하나씩 켜진다. 각 장면의 메모는 지금 안 보이는 것과, 그 Phase를 지나면 보이는 것을 적어 두었다.

  1. Phase 1 1~2주차

    개념의 지도

    온톨로지지식그래프시맨틱 레이어택소노미

    네 단어를 남에게 구분해 설명한다. OWA와 CWA가 갈리는 지점을 짚는다.

  2. Phase 2 3주차

    형식 온톨로지, Protégé

    UserClassEnrollment→ 추론기 →?도출된 사실 1개

    추론기가 자동으로 만든 사실 한 개를 눈으로 본다. 우리에게 필요한지 판단한다.

  3. Phase 3 4주차

    프로퍼티 그래프, Neo4j

    민준수강role, status, 기간수학 3반

    같은 질문을 SQL과 Cypher로 풀고, 속성이 매달린 이 관계를 노드로 둘지 엣지로 둘지 답한다.

  4. Phase 4 5~6주차

    운영 온톨로지, 파운드리

    Enrollment 객체수강 취소하기

    Action 하나를 만들어, 버튼이 데이터로 되돌아 쓰는 write-back을 몸으로 안다.

  5. Phase 5 7~8주차

    캡스톤, Learning Ontology v0.1

    IdentityActivityContentMapAnalytics→ Object, Link, Action

    다섯 레이어를 한 장의 스키마 문서로 접는다. 첫 소비자 하나를 고른다.

지금은 온톨로지, 지식그래프, 시맨틱 레이어, 택소노미가 한 덩어리로 들린다. kgbook 1~4장과 W3C Primer를 지나면 네 단어가 갈라진다.

네 단어가 아직 한 덩어리다

추론기가 무엇을 자동으로 해주는지 아직 모른다. OneRoster 다섯 엔티티를 OWL로 옮기고 추론기를 돌리면, 물음표 자리에 자동으로 도출된 사실이 온다.

물음표 자리에 사실이 온다

수강이라는 관계에 role, status, 기간이 매달려 있다. 같은 질문을 SQL 3중 JOIN과 Cypher로 풀어 보면, 이 관계를 어디에 둘지 답이 나온다.

관계에 속성이 매달려 있다

지금까지의 온톨로지는 읽기만 했다. 파운드리 무료 티어에서 Action을 하나 만들면 버튼이 눌리기 시작한다. 우리 제품에서 그 실물은 STLink의 rostering write-back이다.

버튼이 눌리기 시작한다

다섯 레이어가 아직 각자 논다. 셋을 다 만들어 본 눈으로 Identity부터 Analytics까지를 Object, Link, Action으로 접으면 v0.1 스키마 문서가 남는다.

다섯 레이어가 한 장으로 접힌다

체크는 아래에서 한다. 스크롤 장면은 지도이고, 체크리스트가 원본이다.

Phase 0 — 상시

Phase 1 (1~2주차) — 개념의 지도

한 문장 목표: 온톨로지, 지식그래프, 시맨틱 레이어, 택소노미를 남에게 구분해서 설명할 수 있다.

책이 필요하면 Working Ontologist 2판을 Internet Archive 무료 대출로 본다. 3판은 ACM DL에 있고, 실습 데이터는 data.world/swwo에서 무료로 받는다.

완료 기록 — 날짜: / 배운 것 한 줄: / 산출물:

Phase 2 (3주차) — 형식 온톨로지, Protégé

한 문장 목표: 추론기가 무엇을 자동으로 해주는지 눈으로 확인하고, 우리에게 필요한지 판단한다.

완료 기록 — 날짜: / 배운 것 한 줄: / 산출물:

Phase 3 (4주차) — 프로퍼티 그래프, Neo4j

한 문장 목표: 같은 질문을 SQL과 Cypher로 풀어보고, 그래프가 이기는 지점을 찾는다.

완료 기록 — 날짜: / 배운 것 한 줄: / 산출물:

Phase 4 (5~6주차) — 운영 온톨로지, 파운드리

한 문장 목표: Object/Link/Action 패턴을 무료 티어에서 직접 만들어보고, 형식 온톨로지와의 차이를 몸으로 안다.

완료 기록 — 날짜: / 배운 것 한 줄: / 산출물:

Phase 5 (7~8주차) — 캡스톤: Learning Ontology v0.1

한 문장 목표: 지금까지 배운 셋을 우리 5레이어(Identity→Activity→Content→Map→Analytics)에 수렴시킨다.

완료 기록 — 날짜: / 배운 것 한 줄: / 산출물:

선택 트랙 (9주차) — LLM × 지식그래프

학습 로그

날짜한 일메모 / 링크
2026-08-24로드맵 게시이 글
2026-08-24Phase 1 자료 수집과 산출물 초안 2건kgbook과 두 Primer를 로컬에 저장. 용어 사전과 OWA/CWA 메모는 초안이고, 읽기 항목 3개는 아직 남아 있다
2026-08-24Phase 2 선행: OWL 작성과 추론기 실행OneRoster 다섯 엔티티를 owlready2로 만들고 HermiT로 분류 4건 도출. Pizza Tutorial은 남아 있다