type: source status: seedling title: 지식그래프 표현방식: RDF vs LPG tags: [knowledge-graph, rdf, lpg, graph-representation, semantic-web, triple, labeled-property-graph] created: 2026-05-05 modified: 2026-03-22 date: 2026-03-22 url: https://www.youtube.com/watch?v=EbkJo7wFG7Q channel: 공원나연 source_file: raw/youtube/rdf-lpg.md
Summary
지식그래프를 표현하는 2가지 주요 방식인 **RDF(Resource Description Framework)**와 **LPG(Labeled Property Graph)**를 상세히 비교. 각 방식의 구조, 표현 방식, 장단점, 그리고 실무 적용을 설명하여 각 도메인에 맞는 최적의 표현 방식을 선택할 수 있도록 함.
Key Claims
- RDF와 LPG는 근본적으로 다른 설계 철학: RDF는 시맨틱 웹 기반, LPG는 실용성 중심
- Triple vs 노드-관계: RDF는 (Subject, Predicate, Object) 트리플, LPG는 노드와 라벨된 관계
- 확장성: LPG가 복잡한 속성 표현에 우월
- 쿼리 언어: RDF는 SPARQL, LPG는 Cypher
- 실무 선택 기준: 도메인, 성능 요구, 팀 숙련도에 따라 선택
- Neo4j는 LPG 기반: 따라서 이 강의는 LPG 중심으로 진행
Key Concepts Introduced
-
RDF (Resource Description Framework)
- 트리플 구조: (Subject, Predicate, Object)
- 시맨틱 웹 표준
- 예: (Alice, knows, Bob)
-
LPG (Labeled Property Graph)
- 노드 + 라벨 + 관계 + 속성
- 실용성 중심
- 예: [Person: Alice] —KNOWS—> [Person: Bob]
-
RDF/XML, Turtle, N-Triples — RDF 직렬화 형식
-
SPARQL — RDF 쿼리 언어
-
Cypher — LPG(Neo4j) 쿼리 언어
RDF vs LPG 상세 비교
| 항목 | RDF | LPG |
|---|---|---|
| 기본 단위 | 트리플 (S-P-O) | 노드 + 관계 |
| 노드 표현 | URI (Uniform Resource Identifier) | 라벨 + 속성 |
| 관계 표현 | Predicate (트리플의 일부) | 관계 엣지 |
| 속성 | 제한적 (RDF는 구조적) | 풍부함 (키-값) |
| 쿼리 | SPARQL | Cypher |
| 표준화 | W3C 표준 | 업계 표준 |
| 성능 | 복잡한 쿼리 느림 | 빠름 |
| 학습곡선 | 가파름 | 완만함 |
| 실무 채용 | 낮음 | 높음 |
RDF 구조
Triple 형식
(Subject, Predicate, Object)
예시:
(http://example.org/alice, http://example.org/knows, http://example.org/bob)
(Alice, knows, Bob)
특징
- 모든 관계를 동일한 구조로 표현
- URI로 엔티티 식별
- 시맨틱 웹 표준 준수
직렬화 형식
# Turtle 형식
@prefix ex: <http://example.org/> .
ex:alice ex:knows ex:bob .
ex:alice ex:age 30 .LPG 구조
노드-관계 형식
[Node: Label {properties}] -[Relationship: Type {properties}]-> [Node]
예시:
[Person: Alice {age: 30, email: "alice@example.com"}]
-[KNOWS {since: 2020}]->
[Person: Bob {age: 28}]
특징
- 노드와 관계가 분명히 구분됨
- 각 요소가 속성(properties)을 가질 수 있음
- 라벨(Label)로 엔티티 타입 분류
- 실용성 중심
RDF 사용 사례
✅ RDF가 적합한 경우
- 시맨틱 웹 표준 준수 필수
- 학술/연구 도메인
- 표준화가 중요한 분야 (의료, 법률)
- 복잡한 온톨로지 정의
❌ RDF가 부담스러운 경우
- 빠른 개발/프로토타입
- 복잡한 속성 표현 필요
- 팀이 신기술에 익숙하지 않음
LPG 사용 사례
✅ LPG가 적합한 경우
- 빠른 개발 필요
- 실무 도메인 (추천, 사기 탐지)
- 복잡한 속성 표현 필요
- 기존 Neo4j 에코시스템 활용
❌ LPG의 한계
- 표준화 부족
- 다양한 벡엔드 간 호환성 낮음
온톨로지 표현 비교
RDF로 표현
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/> .
ex:alice a foaf:Person ;
foaf:name "Alice" ;
foaf:knows ex:bob .
ex:bob a foaf:Person ;
foaf:name "Bob" ;
foaf:age 28 .LPG로 표현 (Cypher)
CREATE (alice:Person {name: "Alice"})
CREATE (bob:Person {name: "Bob", age: 28})
CREATE (alice)-[:KNOWS]->(bob)통합 개념
- Knowledge Graph — 표현 방식을 선택하는 대상
- Ontology — RDF/LPG 설계의 기반
- Graph RAG — LPG 기반으로 구현됨 (Neo4j)
- SPARQL — RDF 쿼리 언어
- Cypher Query Language — LPG 쿼리 언어
관련 소스: what-is-graph-database (GDB 기초), data-to-kg (실전 구축)
인정: YouTube 공원나연 채널 (2026-03-22)