Knowledge Graph (지식 그래프)
Term (용어)aiverifiedFri Apr 24

Knowledge Graph (지식 그래프)

별칭: 지식 그래프 · Knowledge Graph · KG · Semantic Network

#기술용어#KnowledgeGraph#Neo4j#RDF#SPARQL#GraphRAG#Wikidata

Knowledge Graph (지식 그래프)

정의

개념(노드, Node)들과 그 관계(엣지, Edge)를 그래프 구조로 표현한 지식 표현 시스템. 단순 텍스트나 표가 아닌 **관계의 망(Network)**으로 지식을 저장하여, 추론·검색·시각화가 모두 가능.

본문 — 기술 상세

기본 구조

[노드 A] --(관계)--> [노드 B]
[아브라함] --(부자)--> [이삭]
[유월절] --(예표)--> [십자가]
[창세기 1:1] --(평행)--> [요한복음 1:1]

각 항목은 **(주어, 술어, 목적어) 트리플(Triple)**로 표현. 이 트리플들이 모여 거대한 망을 이룬다.

표현 방식

  • RDF (Resource Description Framework) — W3C 표준. <subject, predicate, object> 3원소
  • Property Graph — 노드·엣지에 속성(Property) 부여 (Neo4j 방식)
  • OWL (Web Ontology Language) — 풍부한 의미론·추론 가능
  • JSON-LD — JSON 기반, 웹 친화

주요 도구·플랫폼

  • Neo4j — 가장 널리 쓰이는 그래프 DB. Cypher 쿼리 언어
  • Wikidata — 위키미디어의 공개 KG. 1억+ 항목
  • Google Knowledge Graph — 검색 결과 우측 패널
  • Amazon Neptune, ArangoDB, TigerGraph — 상용
  • GraphRAG (Microsoft, 2024) — KG + LLM 결합

쿼리 언어

  • SPARQL (RDF용) — "아브라함의 모든 후손을 찾아줘"
  • Cypher (Neo4j) — MATCH (a:Person {name:'Abraham'})-[:DESCENDANT*]->(d) RETURN d

장점 vs 단점

장점단점
명시적 관계 표현구축·유지 비용 큼
추론 가능 (transitive 등)스키마 설계 어려움
시각화 직관적비정형 텍스트와 통합 힘듦
환각 방지 (사실 기반)새 데이터 통합 느림

사역 적용 — ★ LLMWiki = 지식 그래프

본 프로젝트의 가장 중요한 기술적 결정: 별도의 거대 KG 인프라(Neo4j·벡터 DB) 구축 ❌ / LLMWiki 자체가 지식 그래프 ✅ (synthesis/ai-seonyong-ch7-llmwiki-knowledge-graph).

일반 KGLLMWiki
노드 = 그래프 DB의 객체노드 = wiki/{type}/*.md Wiki Card
엣지 = (subject, predicate, object)엣지 = [type/slug](/type/slug/) wikilink
인덱스 = 그래프 인덱스인덱스 = wiki/index.md
시각화 = Neo4j Browser, Gephi시각화 = Obsidian Graph View + graph/index.json (D3.js)
쿼리 = Cypher / SPARQL쿼리 = LLM이 wiki 읽고 답변
임베딩 = 별도 벡터 DB임베딩 = 옵션 (~100 source까지 불필요)

4층 신학적 레이어가 LLMWiki 안에서 자연스럽게 구현 — 별도 인프라 없이 마크다운 + git만으로 작동, 인프라 비용 0.

한계와 주의사항

  • 노드·엣지가 빈약하면 그래프 효과 ✗ → A03.02 wiki-linker 정기 점검
  • 자동 추론(transitive·inverse)은 LLMWiki에서 LLM이 wikilink 따라감으로 대체
  • 큰 규모(>500 페이지)에서는 검색 보조 도구(qmd 등) 추가 고려

관련