RDF는 진짜 단순합니다. 세 단어 문장 모음이에요. 끝.
여러 개를 모으면:
민수 ─좋아한다→ 사과 민수 ─다닌다→ 행복초등학교 사과 ─색깔이→ 빨강
왜 #B-3021 같은 이상한 이름? "민수"는 학교에 5명 있을 수 있어요. 컴퓨터가 헷갈리니까 *학번*을 줍니다. 본인 demo의 #B-3021은 무안 한옥마을 건물의 학번이에요.
🦉 부엉이 = 현명함의 상징. W3C가 일부러 OOL 대신 OWL로 만든 이름.
OWL은 RDF에 *규칙*을 더하는 언어입니다. RDF가 *사실*이라면, OWL은 *카테고리 규칙*이에요.
민수 ─다닌다→ 5학년 콩이 ─종류→ 진돗개
5학년에 다니는 사람은 학생 학생은 모두 사람 진돗개는 개 개는 포유류 포유류는 동물
민수 → 학생 → 사람 콩이 → 개 → 포유류 → 동물
한 줄 답: 같은 말 만 번 안 적어도 되고, 컴퓨터가 대신 이해해주니까. 게으름의 정당화.
한옥 1만 채에 일일이 "전통건축물이야" 안 적어도 됨. 한옥 ⊑ 전통건축물 한 줄이면 끝.
"이 한옥은 *철근콘크리트*다" 잘못 입력 → OWL이 "한옥은 목구조인데 모순!" 자동 감지. 사람이 일일이 검토 안 해도 됨.
"전통건축물 화재 다 보여줘" → 한옥·종가·사찰 자동 매칭. 매번 길게 적을 필요 없음.
:한옥 owl:sameAs :Hanok 한 줄로, 무안소방서·국가유산청·자체 시스템 모두 자동 호환.
*결과만 보면 같아 보이지만*, 변화가 닥칠 때 차이가 폭발적으로 벌어집니다.
검은 운동화 → 아빠 빨간 운동화 → 아빠 흰 운동화 → 아빠 갈색 구두 → 아빠 ... (30켤레 다)
"남자 신발 = 아빠 것" + 각 신발에 [남자/여자] 태그
한옥 + 무안 + 야간 → 폼차2 + 전통팀 + 발주 한옥 + 무안 + 주간 → 폼차2 + 전통팀 한옥 + 일로 + 야간 → 폼차2 + 전통팀 + 발주 ... (90가지 다 적기)
한옥 ⊑ 전통건축물 전통건축물 화재 → 폼차2 + 전통팀 야간 화재 → 발주
한옥카페 ⊑ 한옥 한 줄. 룰 영원히 안 건드림.OWL의 핵심은 포함관계로 묶기. 그런데 *기억·관계·경험으로도 묶을 수 있나?* 답: 세 종류가 있고, OWL은 2개만 잘합니다.
한옥 ⊂ 전통건축물 ⊂ 건물
B-3021 ─인접→ B-3019 B-3021 ─소속→ CL-01
| 분류·관계 | OWL |
| 시간 | OWL Time (W3C 확장) |
| 유사성 | 벡터 임베딩 · KGE |
| 경험·기억 | Provenance + Event ontology + 사람의 주석 |
| 현상학적 | 형식화 거의 불가. LLM 해석. |
OWL의 한계가 곧 *왜 LLM과 같이 써야 하는가*의 답입니다. 처음 본인이 학습한 3층 뇌 모델로 회귀하면 모든 게 맞아떨어져요.
가장 중요한 깨달음입니다. ontology 마케팅의 가장 큰 거짓말이기도 하고요.
실제로 일어나는 일:
:Building/B-3021 a :Hanok 트리플은 이 engagement를 *옮기지 못합니다*. 박제할 뿐.
옮기는 과정에서 *반드시 손실*:
이 손실분이 ontology의 비용이에요. 그리고 이 비용은 *피할 수 없습니다*. ontology의 가치는 *발견*이 아니라 명시화에 있어요. 숨겨진 합의를 표면 위로 끌어올려, 토론·감사·수정 가능하게 만드는 것 — 그게 전부입니다. 그게 적은 일은 아니지만, *의미의 발견*은 아닙니다.
현존재 차원의 한계를 *부정하지 말고 설계 원칙으로 흡수*하는 게 정공법입니다.
데모·문서에서 이 표현 쓰지 마세요. 거짓말입니다. 대신: "공동체가 합의한 해석을 명시화·공유 가능하게 만든다"
rdfs:comment로 "이 클래스로는 못 잡는 것" 적기. 예: :Hanok엔 *문화적 두께*가 빠졌다고 명시.
"누가 이 분류를 결정했나"를 매번 추적. 의미는 권위의 결정이지 데이터의 자명한 모양이 아니라는 걸 항상 가시화.
1~2년마다 도메인 전문가 다시 모여 "여전히 이 분류가 맞나" 재검토. 정적인 ontology는 죽은 의미.
"OWL이 준비된 상태이지 살려쓰는 상태는 아닙니다." 학습자에게 이 정직함이 가르침의 일부예요.
| OWL 어휘 사용 | ✅ 사용 중 |
| OWL reasoner 적극 활용 | ❌ 시연만 |
| rules.yaml 조건 | 문자열 매치 (OWL 우회) |
| 신세틱 (LLM·임베딩) | ❌ 미통합 |
왜 이 정도만? 학습 목적엔 이게 적정선이에요:
"Claude에게 JSON으로 룰 적시하면 OWL이랑 똑같지 않아?" 본인 직감이 정확해요. 학습 demo 규모에선 거의 동일. 차이는 production scale에서만 본격 드러납니다.
| 항목 | OWL/룰엔진 | LLM |
|---|---|---|
| 속도 | <1ms | 1~10초 |
| 비용 | 0 | 호출당 $$ |
| 결정성 | 보장 | 확률적 |
| 감사 | 가능 | 블랙박스 |
| 스케일 | 수백만 | 수백만 비쌈 |
| 환각 | 없음 | 가능 |
15:14:23.001 RULE-001 fires 15:14:23.078 RULE-002 match 15:14:23.112 RULE-003 match 15:14:23.156 RULE-004 match 15:14:23.201 dispatch
본인이 11단계 동안 도달한 곳 — 한 줄로 요약하면:
Ontology는 의미를 드러내지 않습니다. 합의를 명시화할 뿐입니다.
OWL은 분류와 관계를 잘 묶지만, 경험·시간·유사성은 못 잡아요.
그래서 LLM이 그 옆에 필요합니다 — 두 엔진은 경쟁이 아니라 각자 자리.
처음 학습한 PNG의 3층 뇌 모델이 이미 이 모든 답을 그려놨어요. 11단계는 그 그림을 왜 그렇게 그려야 하는지 깨닫는 과정이었습니다.