30

SPARQL 심화: CONSTRUCT, ASK, 집계

SPARQL 쿼리 언어

학습 목표

CONSTRUCT와 ASK 쿼리를 적절한 상황에서 사용할 수 있다 GROUP BY와 집계 함수를 사용한 분석 쿼리를 작성할 수 있다 Federated Query(SERVICE)의 개념과 활용을 이해한다

SELECT 너머의 SPARQL — 4가지 쿼리 형태

학습 목표

  • SPARQL의 4가지 쿼리 형태(SELECT, CONSTRUCT, ASK, DESCRIBE)를 구분한다
  • GROUP BY, HAVING, 집계 함수를 사용할 수 있다
  • 서브쿼리와 Federated Query(SERVICE)를 이해한다

SPARQL 4가지 쿼리 형태

형태반환 타입용도
SELECT바인딩 테이블데이터 조회 (가장 일반적)
CONSTRUCTRDF 그래프새 트리플 생성, 데이터 변환
ASKboolean (true/false)존재 여부 확인
DESCRIBERDF 그래프리소스의 모든 정보

1. CONSTRUCT — 새 RDF 그래프 생성

에디터 로딩 중...

용도:

  • 온톨로지 간 데이터 변환 (foaf → schema.org)
  • 기존 데이터에서 요약 그래프 추출
  • RDF 데이터 정제/변환 파이프라인

2. ASK — 존재 여부 확인

에디터 로딩 중...

3. DESCRIBE — 리소스 설명

에디터 로딩 중...

4. 집계 함수 (Aggregation)

에디터 로딩 중...

5. 서브쿼리 (Subquery)

에디터 로딩 중...

6. Federated Query (SERVICE)

에디터 로딩 중...

Federated Query의 핵심:

  • 여러 SPARQL 엔드포인트에 동시에 쿼리
  • 로컬 데이터와 외부 데이터를 JOIN
  • SQL에서는 불가능한 RDF/SPARQL 고유 기능!

7. SPARQL Update (INSERT/DELETE)

에디터 로딩 중...

집계 함수 정리표

함수설명SQL 대응
COUNT개수COUNT
SUM합계SUM
AVG평균AVG
MIN최소MIN
MAX최대MAX
GROUP_CONCAT문자열 연결GROUP_CONCAT / STRING_AGG
SAMPLE임의 1개(없음)

핵심 정리

SPARQL은 SELECT 외에 CONSTRUCT(변환), ASK(존재확인), DESCRIBE(설명)를 제공합니다. 집계, 서브쿼리, Federated Query(SERVICE)로 강력한 분석이 가능합니다.

📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 5장 SPARQL 심화

핵심 포인트
  • 4가지 쿼리 형태: SELECT(테이블), CONSTRUCT(그래프), ASK(불린), DESCRIBE(설명)
  • CONSTRUCT: 기존 트리플에서 새로운 형태의 RDF 그래프 생성 (온톨로지 변환)
  • 집계: COUNT, AVG, SUM, GROUP_CONCAT + GROUP BY/HAVING
  • SERVICE (Federated Query): 여러 SPARQL 엔드포인트 연합 쿼리 — RDF 고유 강점
  • SPARQL Update: INSERT DATA, DELETE DATA, 조건부 INSERT/DELETE