Os prêmios Nobel são anunciados durante uma semana em outubro e a cerimônia de premiação é hoje, 10 de dezembro ("Já é amanhã na Austrália"). Há uma história interessante sobre como C. V. Raman (de Efeito Raman) reservado sua passagem para Estocolmo para a cerimônia de premiação de 10 de dezembro, mesmo antes do anúncio, porque ele estava confiante de que ganharia o prêmio!
Obtive esse conjunto de dados do repositório "Awesome JSON Datasets" em https://github.com/jdorfman/awesome-json-datasets
O conjunto de dados do Prêmio Nobel tem três arquivos de dados:
- Laureados - contém o perfil de cada laureado.
|
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 |
{ "nascido": "1888-11-07", "bornCity": "Tiruchirappalli", "bornCountry" (país de nascimento): "Índia", "bornCountryCode" (código do país de nascimento): "IN", "morreu": "1970-11-21", "diedCity": "Bangalore", "diedCountry" (país morto): "Índia", "diedCountryCode": "IN", "firstname": "Senhor Chandrasekhara Venkata", "gênero": "masculino", "id": "37", "prêmios": [ { "affiliations" (afiliações): [ { "cidade": "Calcutá", "país": "Índia", "name" (nome): "Universidade de Calcutá" } ], "category" (categoria): "física", "motivação": "\"por seu trabalho sobre dispersão de luz e pela descoberta do efeito que recebeu seu nome\"", "compartilhar": "1", "ano": "1930" } ], "sobrenome": "Raman" } |
- País - Lista de países e o código do país
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "código": "AR", "name" (nome): "Argentina" }, { "código": "AU", "name" (nome): "Austrália" }, { "código": "AT", "name" (nome): "Áustria" }, |
- Prêmio - a lista de cada prêmio por ano e o vencedor agrupados.
|
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" (categoria): "física", "laureados": [ { "firstname": "Sin-Itiro", "id": "84", "motivação": "\"por seu trabalho fundamental em eletrodinâmica quântica, com consequências profundas para a física das partículas elementares\"", "compartilhar": "3", "sobrenome": "Tomonaga" }, { "firstname": "Julian", "id": "85", "motivação": "\"por seu trabalho fundamental em eletrodinâmica quântica, com consequências profundas para a física das partículas elementares\"", "compartilhar": "3", "sobrenome": "Schwinger" }, { "firstname": "Richard P.", "id": "86", "motivação": "\"por seu trabalho fundamental em eletrodinâmica quântica, com consequências profundas para a física das partículas elementares\"", "compartilhar": "3", "sobrenome": "Feynman" } ], "ano": "1965" } |
O documento do prêmio tem um ID vinculado ao documento do vencedor individual no documento do laureado. Vamos dar uma olhada nos ganhadores do Prêmio Nobel. Primeiro, observe que as informações sobre os prêmios são PLURAIS e estão armazenadas em uma matriz. Uma pessoa ou uma organização pode ganhar mais de um prêmio. Vamos ver quem ganhou mais de um prêmio.
Tarefa 1. Quantos ganharam mais de um prêmio Nobel?
Consulta 1: Basta UNNESTar a matriz de laureados para obter o objeto dos vencedores dos prêmios individuais e, em seguida, determinar e filtrar pelo comprimento da matriz. Há uma entrada por prêmio. Para saber mais sobre o manuseio de matrizes e operações UNNEST, consulte o artigo: Trabalhando com matrizes JSON no N1QL.
|
1 2 3 4 5 6 7 |
selecionar Lista.primeiro nome || " " || IFMISSING(Lista.sobrenome, ""), comprimento da matriz(Lista.prêmios) numnobel de laureado l não registrado l.laureados Lista onde comprimento da matriz(Lista.prêmios) > 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": "Marie Curie, née Sklodowska", "numnobel": 2 }, { "$1": "John Bardeen", "numnobel": 2 }, { "$1": "Linus Carl Pauling", "numnobel": 2 }, { "$1": "Frederick Sanger", "numnobel": 2 }, { "$1": "Comitê Internacional da Cruz Vermelha" (Committee international de la Croix Rouge), "numnobel": 3 }, { "$1": "Escritório do Alto Comissariado das Nações Unidas para Refugiados (UNHCR) ", "numnobel": 2 } ] |
Tarefa 2: Determine qual país produziu o maior número de ganhadores do Prêmio Nobel.
Consulta 2: Simplesmente anule os laureados e agrupe pelo campo bornCountry.
|
1 2 3 4 5 6 7 8 9 |
selecionar Lista.bornCountry, Contagem(1) totalPrêmios de laureado l não registrado l.laureados Lista grupo por Lista.bornCountry ordem por totalPrêmios 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" (país de nascimento): "EUA", "totalPrizes": 269 }, { "bornCountry" (país de nascimento): "Reino Unido", "totalPrizes": 84 }, { "bornCountry" (país de nascimento): "Alemanha", "totalPrizes": 63 }, { "bornCountry" (país de nascimento): "França", "totalPrizes": 52 }, { "totalPrizes": 33 }, { "bornCountry" (país de nascimento): "Suécia", "totalPrizes": 29 }, |
Agora, há 33 vencedores sem um país ou origem... O que está acontecendo aqui?
|
1 2 3 4 5 6 7 |
selecionar Lista.primeiro nome || " " || IFMISSING(Lista.sobrenome, ""), Lista.gênero de laureado l não registrado l.laureados Lista onde Lista.bornCountry é ausente; |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "$1": "Institut de droit international (Instituto de Direito Internacional)", "gênero": "org" }, { "$1": "Bureau International Permanent de la Paix (Escritório Internacional Permanente da Paz)", "gênero": "org" }, { "$1": "Comitê Internacional da Cruz Vermelha" (Committee international de la Croix Rouge), "gênero": "org" }, ... |
Essas parecem ser organizações internacionais e, em seguida, alguns vencedores cujos dados estão faltando no bornCountry.
Tarefa 3: Quantos vieram da Índia.
Pergunta 3: Os prêmios Nobel são concedidos desde 1901, mas a Índia obteve sua independência em 1947. Até 1947, o país de origem tinha "Índia Britânica" como rótulo. Vamos fazer uma pesquisa ampliada.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
selecionar Lista.primeiro nome, Lista.sobrenome, Lista.bornCountry como xborncountry, Lista.diedCountry (país falecido) como país de origem, Lista.gênero como zgender de laureado l não registrado l.laureados Lista onde Lista.bornCountry = "Índia" ou inferior(Lista.bornCountry) como "%india%" ou Lista.diedCountry (país falecido) = "Índia" |
|
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 |
[ { "firstname": "Senhor Chandrasekhara Venkata", "sobrenome": "Raman", "xborncountry": "Índia", "ydiedcountry": "Índia", "zgender": "masculino" }, { "firstname": "Abdus", "sobrenome": "Salam", "xborncountry": "Índia (atual Paquistão)", "ydiedcountry": "Reino Unido", "zgender": "masculino" }, { "firstname": "Subramanyan", "sobrenome": "Chandrasekhar", "xborncountry": "Índia (atual Paquistão)", "ydiedcountry": "EUA", "zgender": "masculino" }, { "firstname": "Ronald", "sobrenome": "Ross", "xborncountry": "Índia", "ydiedcountry": "Reino Unido", "zgender": "masculino" }, { "firstname": "Har Gobind", "sobrenome": "Khorana", "xborncountry": "Índia", "ydiedcountry": "EUA", "zgender": "masculino" }, { "firstname": "Madre Teresa", "xborncountry": "Império Otomano (atual República da Macedônia)", "ydiedcountry": "Índia", "zgender": "feminino" }, { "firstname": "Rudyard", "sobrenome": "Kipling", "xborncountry": "Índia Britânica (atual Índia)", "ydiedcountry": "Reino Unido", "zgender": "masculino" }, { "firstname": "Rabindranath", "sobrenome": "Tagore", "xborncountry": "Índia", "ydiedcountry": "Índia", "zgender": "masculino" }, { "firstname": "Amartya", "sobrenome": "Sen", "xborncountry": "Índia", "zgender": "masculino" }, { "firstname": "Muhammad", "sobrenome": "Yunus", "xborncountry": "Índia Britânica (atual Bangladesh)", "zgender": "masculino" }, { "firstname": "Venkatraman", "sobrenome": "Ramakrishnan", "xborncountry": "Índia", "zgender": "masculino" }, { "firstname": "Kailash", "sobrenome": "Satyarthi", "xborncountry": "Índia", "zgender": "masculino" } ] |
Alguns resultados surpreendentes! Além dos conhecidos ganhadores indianos do Prêmio Nobel, alguns ganhadores famosos do Reino Unido, incluindo Rudyard Kipling, nasceram na Índia. Há apenas um ganhador que não nasceu na Índia, mas morreu lá: Madre Teresa.
Vamos descobrir as categorias.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
selecionar lp.categoria, CONTAGEM(1) contagem de prêmios de laureado l não registrado l.laureados Lista não registrado Lista.prêmios lp onde Lista.bornCountry = "Índia" ou inferior(Lista.bornCountry) como "%india%" ou Lista.diedCountry (país falecido) = "Índia" ou inferior(Lista.diedCountry (país falecido)) como "%india%" grupo por lp.categoria ordem por contagem de prêmios DESC |
|
1 2 3 4 5 6 7 |
categoria contagem de prêmios paz 3 física 3 literatura 2 medicamentos 2 econômico 1 química 1 |
Tarefa 4: Crie um gráfico empilhado dos 7 países que mais ganharam prêmios Nobel com categoria
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
selecionar Lista.bornCountry como xborncountry, lp.categoria ycategoria, CONTAGEM(1) zprizecount, SUM(CONTAGEM(1)) SOBRE(partição por Lista.bornCountry) z1countrytot, SUM(CONTAGEM(1)) SOBRE( partição por Lista.bornCountry ordem por lp.categoria ) z1ctrycatcount de laureado l não registrado l.laureados Lista não registrado Lista.prêmios lp grupo por Lista.bornCountry, lp.categoria ordem por z1countrytot desc, ycategoria |
Resultados (subconjunto para fins de brevidade)

A partir disso, vamos criar um gráfico de colunas empilhadas dos sete principais países e mostrar os prêmios por categoria.

Todas essas manipulações de dados são para diversão e aprendizado. Mas o progresso e a paz que esses vencedores alcançaram sem fronteiras.
Você pode fazer o download do conjunto de dados e Couchbase. Em seguida, faça suas próprias perguntas interessantes e responda-as!