RCCTD(2025)WikiDataQueries
CNUDH
목차
Contents
Person
① 한글 명칭으로 특정 인물(예:마오쩌둥) 찾기
SELECT ?person ?personLabel
WHERE {
?person rdfs:label "마오쩌둥"@ko.
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],ko,en". }
}
② 기본 정보(생몰년, 출생지)를 포함한 당나라 시대 사람들 찾기
SELECT ?person ?personLabel ?birth ?death ?birthplaceLabel ?occupationLabel
WHERE {
?person wdt:P27 wd:Q9683. # 국적: 당나라
- OPTIONAL { ?person wdt:P569 ?birth. }
- OPTIONAL { ?person wdt:P570 ?death. }
- OPTIONAL { ?person wdt:P19 ?birthplace. }
- OPTIONAL { ?person wdt:P106 ?occupation. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "zh, en". }
}
LIMIT 100
국적이 '당나라'(Q9683)인 인물 100명을 찾아, 그들의 이름, 생년월일, 사망일, 출생지, 직업 정보를 표로 만들어 달라
③ 당나라 국적 인물들의 문학 작품 목록 찾기
SELECT ?person ?personLabel ?bookLabel
WHERE {
- ?person wdt:P27 wd:Q9683 .
- ?book wdt:P31 wd:Q7725634 ;
- wdt:P50 ?person .
- wdt:P50 ?person .
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko, zh, en" . }
}
국적이 ‘당나라’(Q9683)인 인물이 저자인(P50) 문학작품(Q7725634)을 찾아달라
④ 당나라 인물의 출생지 좌표 보기
SELECT ?place ?placeLabel (COUNT(?person) AS ?count) ?location
WHERE {
- ?person wdt:P31 wd:Q5 ;
- wdt:P19 ?place ;
- wdt:P27 wd:Q9683 .
- wdt:P19 ?place ;
- OPTIONAL { ?place wdt:P625 ?location }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko, zh, en" . }
}
GROUP BY ?place ?placeLabel ?location
LIMIT 1000
국적(P27)이 당나라(Q9683) 사람인 사람들의 출생지(P19)와 그 좌표(P625)를 보여달라
⑤ 당나라 인물 중, 시인 아버지를 둔 정치인 아들 찾기
SELECT ?person ?personLabel
WHERE {
- ?person wdt:P27 wd:Q9683 .
- ?person wdt:P22 ?father ;
- wdt:P106 wd:Q82955 .
- wdt:P106 wd:Q82955 .
- ?father wdt:P27 wd:Q9683 .
- ?father wdt:P106 wd:Q49757 .
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko, zh, en" . }
}
당나라(Q9683) 인물 중, 아버지의 직업이 시인(Q49757)이고, 아들의 직업이 정치인(Q82955)인 사람을 보여달라
⑥ 1950년 이후의 드라마와 영화에 가장 많이 출연한 인물 찾기
#defaultView:BubbleChart
SELECT ?person (COUNT(?work) AS ?count) ?personLabel
WHERE {
- VALUES ?type { wd:Q11424 wd:Q5398426 } # ?type 변수는 { } 안에 있는 값이다
- ?work wdt:P31 ?type.
- ?work wdt:P577 ?date.
- FILTER (YEAR(?date) >= 1950) # ?date 변수의 값이 1950 이상인 것만 필터링한다
- ?work wdt:P161 ?person.
- ?person wdt:P27 wd:Q148.
- SERVICE wikibase:label { bd:serviceParam wikibase:language "zh, ko, en". }
- }
- }
GROUP BY ?person ?personLabel # ?person ?personLabel의 값이 동일한 걸로 묶는(그룹화 한)다
ORDER BY DESC(?count)
LIMIT 50
1950년 이후에 제작된 중국(Q148) 국적의 배우가 출연한 영화(Q11424) 또는 TV 시리즈(Q5398426)의 수를 세어, 작품 수가 많은 순서대로 상위 50명의 배우 목록을 버블 차트로 보여달라
(시각화)중국 왕조 시기 인물별 거쳐간 왕조 수 집계
①중국 왕조시기 인물중 인물마다 몇 개의 왕조를 거쳤는지를 찾아줘.
SELECT ?person ?personLabel (COUNT(DISTINCT ?dynasty) AS ?count)
WHERE {
?person wdt:P31 wd:Q5. # 인물 (사람)
#국적(P27)이 '중국 왕조(Q12857432)'에 속하는 경우만 찾기
?person wdt:P27 ?dynasty.
?dynasty wdt:P31/wdt:P279* wd:Q12857432.
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?person ?personLabel
ORDER BY DESC(?count)
LIMIT 20
②어떤 왕조들을 경험했는지 궁금해. 왕조이름도 알고싶어.
SELECT ?person ?personLabel (COUNT(DISTINCT ?dynasty) AS ?count) ?dynastyLabel #?dynastyLabel을 추가
WHERE {
?person wdt:P31 wd:Q5. # 인물 (사람)
#국적(P27)이 '중국 왕조(Q12857432)'에 속하는 경우만 찾기
?person wdt:P27 ?dynasty.
?dynasty wdt:P31 wd:Q12857432.
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?person ?personLabel ?dynastyLabel
ORDER BY DESC(?count)
LIMIT 20
③GROUP BY에서 인물과 왕조를 분리해서 왕조값을 따로 표시하고 싶어.
SELECT ?person ?personLabel (COUNT(DISTINCT ?dynasty) AS ?count) (GROUP_CONCAT(DISTINCT ?dynastyName; separator=", ") AS ?dynasties)
WHERE {
?person wdt:P31 wd:Q5. # 인물 (사람)
?person wdt:P27 ?dynasty.
?dynasty wdt:P31/wdt:P279* wd:Q12857432.
# 왕조 이름 가져오기
?dynasty rdfs:label ?dynastyName.
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?person ?personLabel
ORDER BY DESC(?count)
LIMIT 20
④중국 왕조시기 인물중 인물마다 몇 개의 왕조를 거쳤고, 그 왕조의 이름을 한국어로 정렬해줘.
SELECT ?person ?personLabel (COUNT(DISTINCT ?dynasty) AS ?count) (GROUP_CONCAT(DISTINCT ?dynastyName; separator=", ") AS ?dynasties)
WHERE {
?person wdt:P31 wd:Q5.
?person wdt:P27 ?dynasty.
?dynasty wdt:P31/wdt:P279* wd:Q12857432.
# 언어 필터를 꼭 걸어야 깔끔하게 나옵니다.
?dynasty rdfs:label ?dynastyName.
FILTER(LANG(?dynastyName) = "ko")
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?person ?personLabel
ORDER BY DESC(?count)
LIMIT 20
(LINE CHART)어느 왕조의 인물이 위키데이터에 가장 많이 기록되어 있는가
SELECT ?dynastyLabel (COUNT(?person) AS ?count)
WHERE {
?person wdt:P31 wd:Q5. # 인물
?person wdt:P27 ?dynasty. # 국적
# 중국 왕조 및 하위 개념 모두 포함
?dynasty wdt:P31/wdt:P279* wd:Q12857432.
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?dynastyLabel
ORDER BY DESC(?count)
(LINE CHART)중국 영화 역대 흥행 수익(Box Office) TOP 20
#defaultView:LineChart
SELECT ?filmLabel ?boxOffice
WHERE {
?film wdt:P31 wd:Q11424; # 인스턴스: 영화
wdt:P495 wd:Q148; # 제작 국가: 중국
wdt:P2142 ?boxOffice. # 속성: 흥행 수익
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
ORDER BY DESC(?boxOffice) # 수익이 높은 순서대로 정렬
LIMIT 20 # 상위 20개만 표시
Event
① 예제 '최근 일어난 사건들'을 활용한 기본적인 쿼리
SELECT ?event ?eventLabel ?date
WHERE {
- ?event wdt:P31/wdt:P279* wd:Q1190554 .
- OPTIONAL { ?event wdt:P585 ?date. } #특정시점
- OPTIONAL { ?event wdt:P582 ?date. } #시작일시
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
- }
LIMIT 10
위키데이터에 있는 '사건' 유형의 항목을 순서 상관없이 10개 찾아서, '특정 시점(P585)' 또는 '시작일(P580)'이 있다면 함께 보여줘
② 중국에서 발생한 역사적 사건 찾기
SELECT ?event ?eventLabel ?place ?placeLabel
WHERE {
- ?event wdt:P31/wdt:P279* wd:Q1190554 . #역사적 사건 또는 그 하위 개념
- ?event wdt:P276 ?place . #장소(위치)
- ?place wdt:P17 wd:Q148 . #중국에 있는 장소
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
- }
LIMIT 20
"중국(Q148)에서 발생한 '사건'(Q1190554) 20개와 그 사건이 일어난 구체적인 장소를 보여주세요.
③ 당나라 수도와 시기 찾기
SELECT ?itemLabel ?capitalLabel ?startTime ?endTime
WHERE {
- VALUES ?item { wd:Q9683 }
- OPTIONAL { ?item wdt:P36 ?capital . } #수도
- OPTIONAL { ?item wdt:P580 ?startTime . } #시작일
- OPTIONAL { ?item wdt:P582 ?endTime . } #종료일
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko, zh, en" . }
}
위키데이터 항목 '베이징(wd:Q9683)'을 대상으로, 이 항목에 '수도' 또는 '시작일', '종료일' 정보가 있다면 그 값을 가져와서 이름과 함께 보여주세요.
④ (당나라 시기(618-907) 찾은 후) 당나라 때의 사건만 골라내기
SELECT ?event ?eventLabel ?date
WHERE {
- ?event wdt:P31/wdt:P279* wd:Q1190554 .
- ?event wdt:P585 ?date. #특정 시점이 있는 사건
- FILTER(YEAR(?date) >= 618 && YEAR(?date)<= 907)
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
}
ORDER BY ASC(?date) #ASC(Ascending/오름차순), DESC(Descending/내림차순)
LIMIT 50
당나라(618-907) 시기의 '특정 시점'을 가진 사건을 날짜순으로 정렬
⑤ 당나라와 관련된 유적·공간 찾아 지도에 그리기
i) 중국과 관련된 유적·공간 찾기
#defaultView:Map
SELECT ?site ?siteLabel ?coord ?heritageLabel
WHERE {
- ?site wdt:P31/wdt:P279* wd:Q839954 ; #고고학 유적지 / 역사적 장소 계열 (예: archaeological site)
- wdt:P17 wd:Q148 ; #중국에 있는
- wdt:P625 ?coord . #좌표가 있는
- wdt:P17 wd:Q148 ; #중국에 있는
- OPTIONAL { ?site wdt:P1435 ?heritage. } #(있다면) 문화재 지정
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
}
LIMIT 200
ⅱ) 중국내 당나라관련 유적·공간 찾기
#defaultView:Map
SELECT ?site ?siteLabel ?coord ?heritageLabel
WHERE {
- ?site wdt:P31/wdt:P279* wd:Q839954 ; #고고학 유적지 / 역사적 장소 계열 (예: archaeological site)
- wdt:P17 wd:Q148 ; #중국에 있는
- wdt:P625 ?coord ; #좌표가 있는
- wdt:P571 ?inception . #만들어진 시기
- wdt:P17 wd:Q148 ; #중국에 있는
- FILTER( YEAR (?inception) >= 618 && YEAR(?inception) <= 907)
- OPTIONAL { ?site wdt:P1435 ?heritage. } #(있다면) 문화재 지정
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
}
LIMIT 200
당나라 시기(618년~907년)에 건립된, 중국에 위치한 고고학 유적지 좌표와 문화재 지정 정보를 지도에 보여달라
ⅲ) 당나라와 관련된 유적·공간 찾기
#defaultView:Map
SELECT ?site ?siteLabel ?coord
WHERE {
- ?site wdt:P2348 wd:Q9683 . # ?site의 시간대가 '당나라'
- OPTIONAL { ?site wdt:P625 ?coord .} #좌표가 있는 건 추가
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
}
LIMIT 200
⑥ 당나라와 관련 사건 타임라인으로 보기
#defaultView:Timeline
SELECT ?event ?eventLabel ?date
WHERE {
- ?event wdt:P31/wdt:P279* wd:Q1190554 ;
- wdt:P585 ?date .
- wdt:P585 ?date .
- FILTER(?date >= "0618-01-01T00:00:00Z"^^xsd:dateTime &&
- ?date < "0908-01-01T00:00:00Z"^^xsd:dateTime)
- ?date < "0908-01-01T00:00:00Z"^^xsd:dateTime)
- SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], ko, zh, en" . }
}
ORDER BY ?date
LIMIT 100
Place
① 중국의 2000m 이상의 산과 봉우리 찾기
#defaultView:Map
SELECT ?mountaintap ?mountaintapLabel ?tapPoint ?altitude
WHERE {
- VALUES ?type { wdt:Q8502 wd:Q207326 }
- ?mountaintap wdt:P31 ?type;
- p:P2044/psn:P2044/wikibase:quantityAmount ?altitude;
- wdt:P17 wd:Q148;
- wdt:P625 ?tapPoint.
- p:P2044/psn:P2044/wikibase:quantityAmount ?altitude;
- FILTER (?altitude >= 2000)
- SERVICE wikibase:label {bd:serviceParam wikibase:language "ko, zh, en".}
- }
중국(Q148)에 있는 '산'(Q8502) 또는 '산맥'(Q207326) 중에서, 해발 고도가 2,000미터 이상인 모든 장소를 찾아 지도에 표시해 달라
② 당나라 인물들의 출생지별 좌표맵 찾기
#defaultView:Map
SELECT ?birthplace ?birthplaceLabel (COUNT(DISTINCT?person)AS ?count ) (SAMPLE (?coordinates) AS ?location)
WHERE {
- ?person wdt:P27 wd:Q9683; #당나라 사람
- wdt:P19 ?birthplace. #출생지
- wdt:P19 ?birthplace. #출생지
- ?birthplace wdt:P625 ?coordinates.
- SERVICE wikibase:label { bd:serviceParam wikibase:language "zh, en". }
}
GROUP BY ?birthplace ?birthplaceLabel
ORDER BY DESC(?count)
LIMIT 100
당나라(Q9683) 사람들의 출생지를 집계하여, 출생지별 인원수가 많은 순서대로 상위 100곳을 지도에 표시해 달라
③ 당나라 인물들의 개별 출생지 좌표맵
#defaultView:Map
SELECT ?person ?personLabel ?birthplace ?birthplaceLabel ?coordinates
WHERE {
- ?person wdt:P27 wd:Q9683; # 당나라 사람
- wdt:P19 ?birthplace. # 출생지
- wdt:P19 ?birthplace. # 출생지
- ?birthplace wdt:P625 ?coordinates.
- SERVICE wikibase:label { bd:serviceParam wikibase:language "zh, en". }
}
LIMIT 100 # 너무 많으면 느려질 수 있으니 100명으로 제한
당나라(Q9683) 사람 100명을 찾아, 각 인물의 출생지를 지도에 표시해 달라
1단계: “중국에도 세계문화유산이 많이 있을까요?”
중국에 유네스코 세계문화유산이 얼마나 다양하게 있는지’ 전체 목록을 알아봅니다.
SELECT ?heritage ?heritageLabel
WHERE {
- ?heritage wdt:P1435 wd:Q9259; # 세계문화유산
- wdt:P17 wd:Q148. # 중국
- wdt:P17 wd:Q148. # 중국
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
ORDER BY ?heritageLabel
"중국에 있는 세계문화유산 목록을 모두 찾아 이름순(가나다순)으로 정렬해서 보여줘."
2단계: “유산들은 어디에 있을까?”
‘그렇다면 중국 내 각 문화유산은 어디에 있을까요?’ 주요 위치(성/시 등)를 추가해 찾아봅니다.
SELECT ?heritage ?heritageLabel ?locationLabel
WHERE {
- ?heritage wdt:P1435 wd:Q9259;
- wdt:P17 wd:Q148.
- wdt:P17 wd:Q148.
- OPTIONAL { ?heritage wdt:P131 ?location. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
ORDER BY ?heritageLabel
"중국의 세계문화유산 목록과 그 행정구역(위치)을 찾아 이름순으로 나열하되, 위치 정보가 없는 유산도 제외하지 말고(OPTIONAL) 모두 보여줘."
3단계: “중국 지도에서 실제로 볼 수 있을까?”
이제 위 유산들을 중국 지도 위에 표시해서, 위치를 한눈에 파악해봅시다.
#defaultView:Map
SELECT ?heritage ?heritageLabel ?coord
WHERE {
- ?heritage wdt:P1435 wd:Q9259;
- wdt:P17 wd:Q148;
- wdt:P625 ?coord.
- wdt:P17 wd:Q148;
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
"중국의 세계문화유산 중 좌표 정보가 입력된 것들만 찾아 그 이름과 좌표를 보여줘."
4단계: “그 유산들은 각각 언제 만들어졌을까요?”
이 문화유산들은 다 옛날에 만들어졌을까요, 비교적 최근일까요? 생성 혹은 설립 연도를 추가해서 알아봅니다.
SELECT ?heritage ?heritageLabel ?inception
WHERE {
- ?heritage wdt:P1435 wd:Q9259;
- wdt:P17 wd:Q148.
- wdt:P17 wd:Q148.
- OPTIONAL { ?heritage wdt:P571 ?inception. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
ORDER BY ?inception
"중국의 세계문화유산 목록과 그 건립일(시작일)을 찾아 오래된 순서대로(과거→현재) 정렬하되, 건립일 정보가 없는 유산도 제외하지 말고(OPTIONAL) 모두 보여줘."
5단계: “문화유산의 의미를 조금 더 탐구!”
(1)특정 문화유산(예: 만리장성)이 있다면, 그것과 관련된 인물이 누구인지 찾아 봅니다.
SELECT ?heritage ?heritageLabel ?person ?personLabel
WHERE {
- ?heritage rdfs:label "만리장성"@ko.
- OPTIONAL { ?heritage wdt:P170 ?person. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
"한국어 이름이 '만리장성'인 항목을 찾아 그 창작자(만든 사람) 정보가 있다면 함께 보여주고, 없더라도 제외하지 말고(OPTIONAL) 보여줘."
(2)특정 문화유산(예: 만리장성)이 있다면, 그것과 관련된 장소가 어디인지 확인해 봅니다.
SELECT ?heritage ?heritageLabel ?location ?locationLabel
WHERE {
- ?heritage rdfs:label "만리장성"@ko.
- OPTIONAL { ?heritage wdt:P131 ?location. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
"한국어 이름이 '만리장성'인 항목을 찾아 행정구역(위치) 정보가 있다면 함께 보여주고, 없더라도 제외하지 말고(OPTIONAL) 보여줘."
6단계: “문화유산 총정리”(GROUP_CONCAT 활용)
중국의 주요 문화유산 3종(유네스코 세계유산(Q9259), 문화유산(Q210272), 전국중점문물보호단위(Q1188574/historic sites in China))을 찾아 정리해 봅시다.
쿼리(A): 좌표 합치기
SELECT ?heritage ?heritageLabel
- (GROUP_CONCAT(DISTINCT ?coord; SEPARATOR=", ") AS ?coords)
- ?typeLabel ?inscribed ?locationLabel
- (GROUP_CONCAT(DISTINCT ?coord; SEPARATOR=", ") AS ?coords)
WHERE {
- ?heritage wdt:P1435 ?type;
- wdt:P17 wd:Q148.
- wdt:P17 wd:Q148.
- VALUES ?type { wd:Q9259 wd:Q210272 wd:Q1188574 }
- OPTIONAL { ?heritage wdt:P625 ?coord. }
- OPTIONAL { ?heritage wdt:P571 ?inscribed. }
- OPTIONAL { ?heritage wdt:P131 ?location. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?heritage ?heritageLabel ?typeLabel ?inscribed ?locationLabel
ORDER BY ?typeLabel
"이름·유형·건립일·행정구역이 같은 것끼리 묶어 좌표를 한 칸에 합치고, 이를 유산 유형순으로 정렬해서 보여줘."
쿼리(A-2): 위치 정보까지 묶어서 깔끔하게(심화)
SELECT ?heritage ?heritageLabel
- (GROUP_CONCAT(DISTINCT ?coord; SEPARATOR=", ") AS ?coords)
- ?typeLabel ?inscribed
- (GROUP_CONCAT(DISTINCT ?locationLabel; SEPARATOR=", ") AS ?locationLabels)
- (GROUP_CONCAT(DISTINCT ?coord; SEPARATOR=", ") AS ?coords)
WHERE {
- ?heritage wdt:P1435 ?type;
- wdt:P17 wd:Q148.
- wdt:P17 wd:Q148.
- VALUES ?type { wd:Q9259 wd:Q210272 wd:Q1188574 }
- OPTIONAL { ?heritage wdt:P625 ?coord. }
- OPTIONAL { ?heritage wdt:P571 ?inscribed. }
- # [수정된 부분] 위치 라벨을 직접 가져오는 로직 추가
- OPTIONAL {
- ?heritage wdt:P131 ?location.
- ?location rdfs:label ?locationLabel.
- FILTER(LANG(?locationLabel) = "ko")
- ?heritage wdt:P131 ?location.
- }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?heritage ?heritageLabel ?typeLabel ?inscribed
ORDER BY ?typeLabel
CulturalHeritage
① 유네스코 세계유산에 등재된 중국의 문화재 찾기
#defaultView:ImageGrid
SELECT ?heritage ?heritageLabel (SAMPLE (?location) AS ?Location) (SAMPLE (?image) AS ?Image)
WHERE {
- ?heritage wdt:P1435 wd:Q9259.
- VALUES ?china { wd:Q148 wd:Q29520 }
- ?heritage wdt:P17 ?china;
- wdt:P625 ?location.
- OPTIONAL { ?heritage wdt:P18 ?image. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "ko, en". }
}
GROUP BY ?heritage ?heritageLabel
중화인민공화국(Q148)과 중화민국(Q29520, 대만)에 있는 모든 유네스코 세계유산(Q9259)을 찾아, 그 이미지들을 이미지 그리드(격자) 뷰로 보여달라
Visualization
이미지 시각화: Image grid
자연어 질의: 국립고궁박물원의 소장품에서 이미지가 있는 것을 모두 가져와서 타일 형태로 배열해서 출력해줘.
#defaultView:ImageGrid
SELECT ?item ?itemLabel ?image
WHERE {
?item wdt:P195 wd:Q540668. #찾을 대상: 국립고궁박물원(Q540668)의 소장품(P195)
?item wdt:P18 ?image. #필수 조건: 이미지가 있는 것만 가져올 것
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,en,zh". }
}
LIMIT 50
시공간 시각화: ①Timeline
자연어 질의: 중국에서 일어난 아편전쟁(1차, 2차)을 타임라인 형식으로 출력해줘.
#defaultView:Timeline
SELECT ?war ?warLabel ?start ?end ?image
WHERE {
VALUES ?war { wd:Q191282 wd:Q418151 } #대상 지정: 1차,2차 아편전쟁
?war wdt:P580 ?start; #시작시점
wdt:P582 ?end. #종료시점
OPTIONAL { ?war wdt:P18 ?image. } #이미지가 있으면 배경으로 보여줘
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,en". }
}
시공간 시각화: ②Map
자연어 질의: 중국 역사에서 각 왕조의 수도(capital)를 디지털 지도에 매핑해줘.
#defaultView:Map
SELECT ?capital ?capitalLabel ?coord ?dynastyLabel
WHERE {
?dynasty wdt:P31 wd:Q12857432; #중국의 왕조
wdt:P36 ?capital. #왕조의 수도
?capital wdt:P625 ?coord. #수도의 좌표
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh". }
}
통계적 추세 시각화: ①Bar chart
자연어 질의: 중국의 왕조별로 제위에 있었던 황제의 숫자를 바 차트로 출력해줘.
#defaultView:BarChart
SELECT ?dynastyLabel (COUNT(?emperor) AS ?count)
WHERE {
?emperor wdt:P31 wd:Q5; #인간
wdt:P39 wd:Q268218; #직위: 중국의 황제 (P39: position held)
wdt:P27 ?dynasty. #국적: 왕조 (P27: country of citizenship)
?dynasty wdt:P31 wd:Q12857432. #중국의 왕조
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?dynastyLabel
ORDER BY DESC
(?count)
LIMIT 30
통계적 추세 시각화: ②Line chart
자연어 질의: 당나라 시대(서기 618년부터 907년까지), 중국의 인물들이 언제 많이 태어났는지 라인 차트로 출력해줘.
#defaultView:LineChart
SELECT ?birthYear (COUNT(?person) AS ?count)
WHERE {
?person wdt:P31 wd:Q5; # 인간
wdt:P27 wd:Q9683; # 국적: 당나라 (Tang dynasty)
wdt:P569 ?birthDate. # 생년월일
BIND(YEAR(?birthDate) AS ?birthYear) # 연도만 추출
FILTER(?birthYear >= 618 && ?birthYear <= 907) # 당나라 시대 필터링 (618-907년)
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?birthYear
ORDER BY ?birthYear
통계적 추세 시각화: ②Line chart 2
자연어 질의: 당나라 시대(서기 618년부터 907년까지), 중국의 인물들이 언제 많이 태어났는지 (10년 단위로) 라인 차트로 출력해줘.
#defaultView:LineChart
SELECT ?decade (COUNT(?person) AS ?count)
WHERE {
?person wdt:P31 wd:Q5;
wdt:P27 wd:Q9683; # 국적: 당나라
wdt:P569 ?birthDate.
BIND(YEAR(?birthDate) AS ?birthYear)
FILTER(?birthYear >= 618 && ?birthYear <= 907)
BIND(FLOOR(?birthYear / 10) * 10 AS ?decade) # 10년 단위로 그룹화 (예: 620, 630, 640...)
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
GROUP BY ?decade
ORDER BY ?decade
통계적 추세 시각화: ③Scatter chart
자연어 질의: 청나라 황제를 기준으로, 오래 산 황제가 재위 기간도 길었는지(수명 vs 재위기간) 확인할 수 있게끔 스캐터 차트로 출력해줘.
#defaultView:ScatterChart
SELECT ?age ?reignDuration ?emperorLabel
WHERE {
?emperor wdt:P31 wd:Q5; # 인간
wdt:P27 wd:Q8733; # 국적: 청나라
wdt:P39 wd:Q268218; # 직위: 중국 황제
wdt:P569 ?birth; # 생년월일
wdt:P570 ?death. # 사망일
?emperor p:P39 ?statement.
?statement ps:P39 wd:Q268218;
pq:P580 ?start;
pq:P582 ?end.
BIND(YEAR(?death) - YEAR(?birth) AS ?age)
BIND(YEAR(?end) - YEAR(?start) AS ?reignDuration)
FILTER(?age > 0 && ?reignDuration > 0)
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh,en". }
}
통계적 추세 시각화: ④Bubble chart
자연어 질의: 중국에는 어떤 성씨(姓氏)가 얼마나 많은지를 버블 차트로 출력해줘.
#defaultView:BubbleChart
SELECT ?familyLabel (COUNT(?person) AS ?count)
WHERE {
?person wdt:P27 wd:Q29520; # 중국 사람
wdt:P734 ?family. # 성씨
SERVICE wikibase:label { bd:serviceParam wikibase:language "ko,zh". }
}
GROUP BY ?familyLabel
ORDER BY DESC(?count)
통계적 추세 시각화: ②Line Chart
자연어 질의: 최근 10년동안 한국에서 만든 영화의 개수와, 수상 이력이 있는 개수를 라인 차트로 보여줘.
#defaultView:LineChart
SELECT ?year ?count ?sort
WHERE {
{ # 첫 번째 라인 차트의 쿼리
SELECT ?year (COUNT(DISTINCT ?film) AS ?count) # COUNT: ?film의 수를 세겠다.
("전체 개봉작" AS ?sort) # "전체 개봉작"이라는 이름을 ?sort에 넣겠다.
WHERE {
?film wdt:P31 wd:Q11424; # 영화
wdt:P495 wd:Q884;
wdt:P577 ?date. # 개봉일
FILTER(?date >= "2015-01-01"^^xsd:dateTime && ?date <= NOW()) # 최근 10년
BIND(STR(YEAR(?date)) AS ?year) # ?date에 있는 YEAR 값을 '정수값'으로 가져온다.
}
GROUP BY ?year # 하나의 연도(?year)를 기준으로, 그 안에 있는 영화 작품 수(?film)를 볼 것이기 때문
}
UNION
{ # 두 번째 라인 차트의 쿼리
SELECT ?year (COUNT(DISTINCT ?film) AS ?count)
("수상작" AS ?sort) # "수상작"이라는 이름을 ?sort에 넣겠다.
WHERE {
?film wdt:P31 wd:Q11424;
wdt:P495 wd:Q884;
wdt:P577 ?date; # --- 위와 같음
wdt:P166 ?award. # 수상 내역
FILTER(?date >= "2015-01-01"^^xsd:dateTime && ?date <= NOW())
BIND(STR(YEAR(?date)) AS ?year)
}
GROUP BY ?year
}
}
ORDER BY ?year
Combination
① 당나라 시인과 그의 대표작 찾기
SELECT ?poet ?poetLabel ?work ?workLabel
WHERE {
- ?poet wdt:P27 wd:Q9683;
- wdt:P106 wd:Q49757.
- OPTIONAL { ?poet wdt:P800 ?work. }
- SERVICE wikibase:label { bd:serviceParam wikibase:language "zh,en". }
}
LIMIT 50