지식그래프 — 지식을 인물관계도로 저장하기
지식을 개체와 이름 붙은 관계의 연결망으로 저장한 것. 옵시디언 그래프 뷰가 '반쪽'인 이유.
한 줄 정의
지식그래프(knowledge graph)는 지식을 개체(노드)와 이름 붙은 관계(엣지)의 연결망으로 저장한 것이다. “(soulhn) —[만들었다]→ (ask-soulhn)” 같은 주어–관계–목적어 세 쌍(triple)이 쌓여 그래프가 된다.
내 말로
드라마 인물관계도. 인물이 점이고, 선마다 “연인” “원수”라고 적혀 있다. 같은 사실을 문장 더미로 두면 매번 처음부터 다시 읽어야 하지만, 관계도로 바꿔 두면 “A의 원수의 연인”처럼 선을 따라가며 답할 수 있다. 구글이 2012년 검색 옆 정보 상자에 쓰면서 유명해졌다 — “문자열이 아니라 사물을(things, not strings)”. 온톨로지가 범례라면, 지식그래프는 그 범례로 그린 실제 관계도다.
오개념 주의
그래프처럼 생겼다고 다 지식그래프는 아니다. 옵시디언 그래프 뷰나 이 블로그 홈의 지도는 선에 이름이 없다 — “연결됐다”까지만 말하고 “어떻게”는 말하지 않으니, 엄밀히는 반쪽 지식그래프다.
어디서 만났나
Build 04 — 지도에서 하나 만들어 놓고도 이름을 몰랐다. 노드는 글, 실선은 실제 인용, 점선은 태그 공유 — 선에 유형을 두 개 붙였으니 반쪽보다는 나은 셈이다. 옵시디언에서 노트끼리 링크를 거는 일도 결국 지식그래프를 손으로 짜는 일이었다. 이 카드가 발행되면 홈 지도에 이번 용어 네 장이 별자리처럼 이어져 뜰 텐데, 그 지도가 바로 이 개념의 실물 예시다.
더 파볼 것
- 선에 이름 붙이기 — 옵시디언 frontmatter 속성과 Dataview로 관계에 유형 달기
- GraphRAG — 지식그래프를 검색에 쓰는 법
- 이 블로그 지도의 선에 이름을 붙인다면 몇 종류가 필요한가
퀴즈
읽은 내용, 세 문제로 확인해보세요.
1. 지식그래프의 기본 구조는 무엇인가?
지식그래프는 개체를 노드로, 이름 붙은 관계를 엣지로 저장한 연결망이다.
2. 옵시디언 그래프 뷰가 '반쪽' 지식그래프인 이유는?
연결 여부만 보여주고 어떤 관계인지(인용? 반박? 상위개념?)는 담지 않기 때문이다.
3. 지식그래프에서 지식을 저장하는 기본 단위는?
"(soulhn) —[만들었다]→ (ask-soulhn)" 같은 세 쌍이 쌓여 그래프가 된다.