노벨상은 10월에 일주일에 걸쳐 발표되며 시상식은 12월 10일인 오늘(호주에서는 이미 내일입니다) 열립니다. 흥미로운 이야기가 있습니다. C. V. 라만 (의 라만 효과) 예약 스톡홀름행 티켓 수상에 대한 확신이 있었기 때문에 발표 전부터 12월 10일 시상식에 참석할 수 있었습니다!
이 데이터 세트는 다음 "멋진 JSON 데이터 세트" 리포지토리에서 가져왔습니다. https://github.com/jdorfman/awesome-json-datasets
노벨상 데이터 세트에는 세 개의 데이터 파일이 있습니다:
- 수상자 - 각 수상자의 프로필이 포함되어 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
{ "born": "1888-11-07", "bornCity": "티루치라팔리", "bornCountry": "India", "bornCountryCode": "IN", "사망": "1970-11-21", "diedCity": "방갈로르", "diedCountry": "India", "diedCountryCode": "IN", "이름": "찬드라세카라 벤카타 경", "gender": "male", "id": "37", "상품": [ { "제휴": [ { "city": "캘커타", "country": "India", "name": "캘커타 대학교" } ], "category": "물리학", "동기 부여": "\"빛의 산란에 관한 그의 연구와 그의 이름을 딴 효과의 발견을 위해\""", "공유": "1", "year": "1930" } ], "성": "라만" } |
- 국가 - 국가 목록 및 국가 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "code": "AR", "name": "아르헨티나" }, { "code": "AU", "name": "호주" }, { "code": "AT", "name": "오스트리아" }, |
- 상 - 연도별 각 상 목록과 수상자를 그룹으로 묶어 표시합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
{ "category": "물리학", "수상자": [ { "이름": "신이티로", "id": "84", "동기 부여": "소립자 물리학에 심대한 영향을 끼친 양자 전기 역학 분야의 근본적인 연구로""", "공유": "3", "성": "토모나가" }, { "이름": "Julian", "id": "85", "동기 부여": "소립자 물리학에 심대한 영향을 끼친 양자 전기 역학 분야의 근본적인 연구로""", "공유": "3", "성": "Schwinger" }, { "이름": "Richard P.", "id": "86", "동기 부여": "소립자 물리학에 심대한 영향을 끼친 양자 전기 역학 분야의 근본적인 연구로""", "공유": "3", "성": "파인만" } ], "year": "1965" } |
수상작 문서에는 수상자 문서에서 개별 수상자 문서로 연결되는 ID가 있습니다. 노벨상 수상자를 살펴봅시다. 먼저, 수상자 정보가 복수형이며 배열로 저장되어 있다는 것을 알 수 있습니다. 한 사람이나 단체가 두 개 이상의 상을 수상할 수 있습니다. 누가 두 개 이상의 상을 수상했는지 살펴봅시다.
과제 1. 노벨상을 두 번 이상 수상한 사람은 몇 명인가요?
쿼리 1: 수상자 배열의 중첩을 해제하여 개별 수상자의 개체를 가져온 다음 배열의 길이를 결정하고 필터링하기만 하면 됩니다. 수상작당 하나의 항목이 있습니다. 배열 처리 및 UNNEST 작업에 대한 자세한 내용은 문서를 참조하세요: N1QL에서 JSON 배열로 작업하기.
1 2 3 4 5 6 7 |
선택 목록.이름 || " " || IFMISSING(목록.성, ""), 배열_길이(목록.상품) 눔노벨 에서 수상자 l unnest l.수상자 목록 어디 배열_길이(목록.상품) > 1; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[ { "$1": "마리 퀴리, 네 스클로도프스카", "numnobel": 2 }, { "$1": "존 바딘", "numnobel": 2 }, { "$1": "라이너스 칼 폴링", "numnobel": 2 }, { "$1": "프레드릭 생어", "numnobel": 2 }, { "$1": "국제적십자위원회(국제적십자위원회)", "numnobel": 3 }, { "$1": "유엔난민고등판무관실(UNHCR) ", "numnobel": 2 } ] |
과제 2: 노벨상 수상자를 가장 많이 배출한 국가를 알아보세요.
쿼리 2: 수상자의 중첩을 해제하고 bornCountry 필드를 기준으로 그룹화하기만 하면 됩니다.
1 2 3 4 5 6 7 8 9 |
선택 목록.태어난 국가, Count(1) 총상금 에서 수상자 l unnest l.수상자 목록 그룹 by 목록.태어난 국가 주문 by 총상금 desc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[ { "bornCountry": "USA", "총상금": 269 }, { "bornCountry": "영국", "총상금": 84 }, { "bornCountry": "독일", "총상금": 63 }, { "bornCountry": "프랑스", "총상금": 52 }, { "총상금": 33 }, { "bornCountry": "스웨덴", "총상금": 29 }, |
국가나 출신이 없는 우승자가 33명이나 된다니... 무슨 일이 벌어지고 있는 걸까요?
1 2 3 4 5 6 7 |
선택 목록.이름 || " " || IFMISSING(목록.성, ""), 목록.성별 에서 수상자 l unnest l.수상자 목록 어디 목록.태어난 국가 는 누락; |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "$1": "국제법 연구소(국제법 연구소)", "gender": "org" }, { "$1": "국제 영구 평화국(영구 국제 평화국)", "gender": "org" }, { "$1": "국제적십자위원회(국제적십자위원회)", "gender": "org" }, ... |
국제 조직인 것 같고, 태어난 국가 데이터가 누락된 몇 명의 수상자가 있습니다.
과제 3: 인도에서 몇 명이 왔나요?
질문 3: 노벨상은 1901년부터 수여되었지만 인도는 1947년에 독립했습니다. 1947년까지 인도는 '영국령 인도'라는 국호를 사용했습니다. 확장 검색을 해 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 |
선택 목록.이름, 목록.성, 목록.태어난 국가 as 엑스본카운티, 목록.죽은 국가 as ydiedcountry, 목록.성별 as zgender 에서 수상자 l unnest l.수상자 목록 어디 목록.태어난 국가 = "India" 또는 lower(목록.태어난 국가) 같은 "%india%" 또는 목록.죽은 국가 = "India" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
[ { "이름": "찬드라세카라 벤카타 경", "성": "라만", "xborncountry": "India", "ydiedcountry": "India", "zgender": "male" }, { "이름": "Abdus", "성": "살람", "xborncountry": "인도(현재 파키스탄)", "ydiedcountry": "영국", "zgender": "male" }, { "이름": "Subramanyan", "성": "찬드라세카르", "xborncountry": "인도(현재 파키스탄)", "ydiedcountry": "USA", "zgender": "male" }, { "이름": "Ronald", "성": "Ross", "xborncountry": "India", "ydiedcountry": "영국", "zgender": "male" }, { "이름": "하르 고빈드", "성": "코라나", "xborncountry": "India", "ydiedcountry": "USA", "zgender": "male" }, { "이름": "마더 테레사", "xborncountry": "오스만 제국(현 마케도니아 공화국)", "ydiedcountry": "India", "zgender": "여성" }, { "이름": "Rudyard", "성": "Kipling", "xborncountry": "영국령 인도(현재 인도)", "ydiedcountry": "영국", "zgender": "male" }, { "이름": "라빈드라나트", "성": "Tagore", "xborncountry": "India", "ydiedcountry": "India", "zgender": "male" }, { "이름": "Amartya", "성": "Sen", "xborncountry": "India", "zgender": "male" }, { "이름": "무하마드", "성": "유누스", "xborncountry": "영국령 인도(현재 방글라데시)", "zgender": "male" }, { "이름": "벤카트라만", "성": "라마크리슈난", "xborncountry": "India", "zgender": "male" }, { "이름": "Kailash", "성": "Satyarthi", "xborncountry": "India", "zgender": "male" } ] |
놀라운 결과! 잘 알려진 인도 노벨상 수상자 외에도 러디어드 키플링을 비롯한 영국의 유명한 수상자 몇 명이 인도에서 태어났습니다. 인도에서 태어나지 않고 인도에서 사망한 수상자는 단 한 명뿐입니다: 바로 마더 테레사입니다.
카테고리를 알아보세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
선택 lp.카테고리, COUNT(1) 상품 수 에서 수상자 l unnest l.수상자 목록 unnest 목록.상품 lp 어디 목록.태어난 국가 = "India" 또는 lower(목록.태어난 국가) 같은 "%india%" 또는 목록.죽은 국가 = "India" 또는 lower(목록.죽은 국가) 같은 "%india%" 그룹 by lp.카테고리 주문 by 상품 수 DESC |
1 2 3 4 5 6 7 |
카테고리 상품 수 평화 3 물리학 3 문학 2 의학 2 경제학 1 화학 1 |
과제 4: 카테고로피로 노벨상 수상 상위 7개국의 누적 그래프 만들기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
선택 목록.태어난 국가 as 엑스본카운티, lp.카테고리 ycategory, COUNT(1) zprizecount, SUM(COUNT(1)) OVER(파티션 by 목록.태어난 국가) z1countrytot, SUM(COUNT(1)) OVER( 파티션 by 목록.태어난 국가 주문 by lp.카테고리 ) z1ctrycatcount 에서 수상자 l unnest l.수상자 목록 unnest 목록.상품 lp 그룹 by 목록.태어난 국가, lp.카테고리 주문 by z1countrytot desc, ycategory |
결과(간결성을 위해 하위 집합)
이를 통해 상위 7개국을 누적 열 그래프로 만들고 카테고리별로 상금을 표시해 보겠습니다.
이 모든 데이터 조작은 재미와 학습을 위한 것입니다. 하지만 이 우승자들이 만들어낸 진보와 평화는 국경이 없습니다.
다운로드할 수 있습니다. 데이터 세트 그리고 카우치베이스. 그런 다음 자신만의 흥미로운 질문을 하고 답하세요!