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

  1. RDF (Resource Description Framework)

    • 트리플 구조: (Subject, Predicate, Object)
    • 시맨틱 웹 표준
    • 예: (Alice, knows, Bob)
  2. LPG (Labeled Property Graph)

    • 노드 + 라벨 + 관계 + 속성
    • 실용성 중심
    • 예: [Person: Alice] —KNOWS—> [Person: Bob]
  3. RDF/XML, Turtle, N-Triples — RDF 직렬화 형식

  4. SPARQL — RDF 쿼리 언어

  5. Cypher — LPG(Neo4j) 쿼리 언어


RDF vs LPG 상세 비교

항목RDFLPG
기본 단위트리플 (S-P-O)노드 + 관계
노드 표현URI (Uniform Resource Identifier)라벨 + 속성
관계 표현Predicate (트리플의 일부)관계 엣지
속성제한적 (RDF는 구조적)풍부함 (키-값)
쿼리SPARQLCypher
표준화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)

통합 개념


관련 소스: what-is-graph-database (GDB 기초), data-to-kg (실전 구축)

인정: YouTube 공원나연 채널 (2026-03-22)