30분
SPARQL vs Cypher 비교 (핵심!)
SPARQL 쿼리 언어
SPARQL vs Cypher 비교 (핵심!)
온톨로지 & 시맨틱웹 > SPARQL 쿼리 언어
학습 목표
SPARQL과 Cypher의 10가지 이상 차이점을 설명할 수 있다 같은 쿼리를 두 언어로 작성할 수 있다 상황에 따른 쿼리 언어 선택 기준을 제시할 수 있다
두 그래프 쿼리 언어의 결정적 차이
학습 목표
- SPARQL과 Cypher의 문법적/개념적 차이를 10가지 이상 비교할 수 있다
- 상황에 따라 적절한 쿼리 언어를 선택할 수 있다
- 같은 쿼리를 두 언어로 작성하는 능력을 기른다
핵심 철학의 차이
에디터 로딩 중...
10+ 쿼리 패턴 비교표
1. 기본 조회 — 모든 사람 찾기
에디터 로딩 중...
에디터 로딩 중...
차이: SPARQL은 각 속성이 별도 트리플 패턴, Cypher는 노드에서 직접 접근
2. 조건 필터링 — 25세 이상
에디터 로딩 중...
에디터 로딩 중...
3. 관계 탐색 — Alice의 친구
에디터 로딩 중...
에디터 로딩 중...
4. 2홉 탐색 — 친구의 친구
에디터 로딩 중...
에디터 로딩 중...
차이: Cypher는 *2로 홉 수 지정, SPARQL은 패턴 반복
5. 가변 길이 경로 — 1~5홉
에디터 로딩 중...
에디터 로딩 중...
차이: Cypher가 더 유연한 가변 길이 문법 제공
6. 선택적 매칭 — LEFT JOIN
에디터 로딩 중...
에디터 로딩 중...
7. 집계 — 도시별 사람 수
에디터 로딩 중...
에디터 로딩 중...
8. 존재 확인 — 특정 관계 존재?
에디터 로딩 중...
에디터 로딩 중...
9. 패턴 부정 — 친구 없는 사람
에디터 로딩 중...
에디터 로딩 중...
10. 최단 경로
에디터 로딩 중...
에디터 로딩 중...
차이: 최단 경로는 Cypher의 압도적 강점
11. 데이터 변환 (CONSTRUCT)
에디터 로딩 중...
에디터 로딩 중...
12. 연합 쿼리 (Federated Query)
에디터 로딩 중...
에디터 로딩 중...
종합 비교 매트릭스
| 기능 | SPARQL | Cypher | 승자 |
|---|---|---|---|
| 기본 조회 | 트리플 패턴 | 노드.속성 | Cypher (간결) |
| 관계 탐색 | 패턴 반복 | ASCII Art | Cypher (직관적) |
| 가변 길이 경로 | Property Path (+, *) | *min..max | Cypher (유연) |
| 최단 경로 | ❌ (없음) | shortestPath() 내장 | Cypher 압승 |
| 선택적 매칭 | OPTIONAL | OPTIONAL MATCH | 동등 |
| 집계 | GROUP BY + 함수 | 암묵적 그룹핑 | 동등 |
| 데이터 변환 | CONSTRUCT | ❌ (없음) | SPARQL 압승 |
| 연합 쿼리 | SERVICE (표준) | ❌ (없음) | SPARQL 압승 |
| 추론 통합 | RDFS/OWL 추론 | 제한적 | SPARQL (표준) |
| 표준화 | W3C 확정 | GQL 진행 중 | SPARQL (성숙) |
| 학습 곡선 | 높음 (URI 등) | 낮음 (직관적) | Cypher (쉬움) |
| 상호운용성 | SPARQL endpoints | 벤더 종속 | SPARQL (개방) |
| 관계 속성 | Reification 필요 | 직접 저장 | Cypher 압승 |
| 성능 (탐색) | 트리플 스토어 | Index-free Adj. | Cypher (빠름) |
선택 가이드
에디터 로딩 중...
핵심 정리
Cypher = 경로 탐색의 왕 (직관적, 빠른 탐색, 관계 속성) SPARQL = 데이터 통합의 왕 (연합 쿼리, 추론, 표준, CONSTRUCT) 실무에서는 도메인에 맞게 선택하거나 둘 다 사용!
📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 6장 그래프 쿼리 비교
핵심 포인트
- • SPARQL=트리플 패턴 매칭, Cypher=ASCII Art 경로 매칭
- • Cypher 강점: 최단 경로, 가변 길이 경로, 관계 속성, 직관성
- • SPARQL 강점: CONSTRUCT(변환), SERVICE(연합 쿼리), 추론 통합, 표준
- • 같은 쿼리도 Cypher가 더 짧고 직관적, SPARQL은 더 범용적
- • 실무: 경로 탐색 → Cypher, 데이터 통합/추론 → SPARQL, 또는 둘 다