35분
SPARQL 기초: SELECT, WHERE, FILTER
SPARQL 쿼리 언어
SPARQL 기초: SELECT, WHERE, FILTER
온톨로지 & 시맨틱웹 > SPARQL 쿼리 언어
학습 목표
SPARQL SELECT 쿼리를 작성할 수 있다 FILTER, OPTIONAL, UNION, MINUS를 적절히 사용할 수 있다 SQL과 SPARQL의 대응 관계를 설명할 수 있다
SPARQL의 기본 구조 마스터하기
학습 목표
- SPARQL의 기본 구조(PREFIX, SELECT, WHERE)를 이해한다
- Triple Pattern(트리플 패턴)과 변수 바인딩을 사용할 수 있다
- FILTER, OPTIONAL, BIND를 활용할 수 있다
- ORDER BY, LIMIT, OFFSET으로 결과를 제어할 수 있다
1. 기본 구조
에디터 로딩 중...
핵심 개념: Triple Pattern
에디터 로딩 중...
2. SELECT 변형
에디터 로딩 중...
3. FILTER — 조건 필터링
에디터 로딩 중...
4. OPTIONAL — 선택적 패턴
SQL의 LEFT JOIN에 해당합니다:
에디터 로딩 중...
에디터 로딩 중...
5. BIND — 변수 할당
에디터 로딩 중...
6. VALUES — 값 목록 필터
에디터 로딩 중...
7. UNION — 합집합
에디터 로딩 중...
8. MINUS — 차집합
에디터 로딩 중...
MINUS vs FILTER NOT EXISTS:
에디터 로딩 중...
SPARQL 키워드 정리표
| 키워드 | 역할 | SQL 대응 |
|---|---|---|
| PREFIX | 네임스페이스 축약 | - |
| SELECT | 반환 변수 | SELECT |
| WHERE | 조건 패턴 | FROM + WHERE |
| FILTER | 값 필터링 | WHERE 조건 |
| OPTIONAL | 선택적 패턴 | LEFT JOIN |
| UNION | 합집합 | UNION |
| MINUS | 차집합 | NOT IN |
| BIND | 변수 할당 | AS |
| VALUES | 값 목록 | IN (...) |
| ORDER BY | 정렬 | ORDER BY |
| LIMIT / OFFSET | 페이지네이션 | LIMIT / OFFSET |
| DISTINCT | 중복 제거 | DISTINCT |
핵심 정리
SPARQL은 트리플 패턴(?s ?p ?o)으로 RDF 그래프를 쿼리합니다. SQL을 안다면 SELECT/WHERE/ORDER BY/LIMIT은 거의 동일하고, OPTIONAL=LEFT JOIN, FILTER=WHERE 조건으로 대응시켜 이해하면 됩니다.
📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 5장 SPARQL
핵심 포인트
- • SPARQL 기본: PREFIX(네임스페이스) + SELECT(변수) + WHERE(트리플 패턴)
- • ?변수: 트리플 패턴에서 매칭 결과를 바인딩하는 자리
- • FILTER: 숫자 비교, 문자열 매칭, 정규식, 존재 여부(EXISTS/NOT EXISTS)
- • OPTIONAL: 있으면 가져오고 없으면 null (SQL LEFT JOIN 대응)
- • UNION(합집합), MINUS(차집합), BIND(변수 할당), VALUES(값 목록)