Files
2nd/01_Archive/2026-04-20/GQL (Graph Query Language, ISO 표준).md
T

3.7 KiB

GQL (Graph Query Language, ISO 표준 그래프 질의 언어)

📌 Brief Summary

GQL(Graph Query Language)은 2024년 4월 ISO/IEC 39075로 표준화된 그래프 데이터베이스 질의 언어다. 기존에 Neo4j의 Cypher, Oracle의 PGQL, TigerGraph의 GSQL 등 벤더별로 분열되어 있던 LPG(Labeled Property Graph) 질의 언어를 하나의 국제 표준으로 통합한다. SQL이 관계형 DB를 통합한 것처럼 GQL은 그래프 DB를 통합할 표준이다.


📖 Core Content

1. GQL 등장 배경 (표준화 필요성)

[2024년 이전: 벤더 종속 그래프 질의 언어]
  Neo4j     → Cypher
  TigerGraph → GSQL
  Oracle PGX → PGQL
  Amazon Neptune → openCypher
  
  문제: 벤더마다 다른 문법 → 이식성 없음
       Neo4j에서 작성한 쿼리 → Amazon Neptune에서 사용 불가

[2024년 4월: ISO/IEC 39075 GQL 표준 채택]
  → SQL처럼 모든 그래프 DB에서 동일한 문법 사용 가능
  SQL:1987이 관계형 DB 표준화 → GQL:2024가 그래프 DB 통합

2. GQL vs Cypher vs SPARQL 비교

구분 GQL Cypher (Neo4j) SPARQL (RDF)
대상 모델 LPG (ISO 표준) LPG RDF 트리플
표준화 ISO/IEC 39075 벤더 표준 W3C
문법 스타일 Cypher 기반 확장 ASCII 패턴 SQL 유사
이식성 전 벤더 Neo4j 전용 RDF 전용
도입 시기 2024.4 2011 2008

3. GQL 기본 문법 예시

-- GQL 기본 패턴 매칭
MATCH (p: Person)-[r: KNOWS]->(f: Person)
WHERE p.name = '홍길동'
RETURN f.name, r.since

-- GQL 그래프 생성
INSERT (:Person {name: '김철수', age: 30})-[:KNOWS {since: 2024}]->
       (:Person {name: '이영희'})

-- GQL 경로 탐색 (다중 홉)
MATCH p = (a: Person)-[:KNOWS*1..3]->(b: Person)
WHERE a.name = '홍길동'
RETURN nodes(p), relationships(p)

-- GQL 집계
MATCH (p: Person)-[:KNOWS]->(f)
RETURN p.name, COUNT(f) AS friend_count
ORDER BY friend_count DESC LIMIT 10

4. SQL/PGQ와의 관계

GQL은 SQL/PGQ(SQL:2023에 추가된 그래프 확장)와 밀접:

[SQL:2023 - SQL/PGQ]
  기존 SQL에 그래프 패턴 매칭 추가
  관계형 테이블을 그래프로 질의 가능
  → SQL 사용자가 그래프 질의 점진적 도입

[ISO GQL:2024]
  독립적인 완전한 그래프 DB 전용 언어
  → 전용 그래프 DB (Neo4j 등) 대상

  [설계 공유] GQL ↔ SQL/PGQ: 핵심 그래프 문법 공통

5. 인과관계 (GQL 표준화의 생태계 영향)

[벤더 종속 현재 상황]
  개발자: "Neo4j 배우면 다른 그래프 DB에서 못 써먹음"
  기업: "그래프 DB 도입 = 특정 벤더 종속"
        ↓
[GQL 표준화 후 예상]
  벤더 독립적 그래프 DB 기술 습득 가능
  → 그래프 DB 채택 기업 증가
  → 온톨로지·지식 그래프 기반 AI 시스템 확산 가속
  → GraphRAG·지식 그래프 기반 LLM 접근법 주류화

🔗 Knowledge Connections