Consulta SQL++ / N1QL

JSON para Insights: Conjunto de dados dos ganhadores do Prêmio Nobel.

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.

  • País - Lista de países e o código do país

 

  • Prêmio - a lista de cada prêmio por ano e o vencedor agrupados.

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.

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.

Agora, há 33 vencedores sem um país ou origem... O que está acontecendo aqui?

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.

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.

Tarefa 4: Crie um gráfico empilhado dos 7 países que mais ganharam prêmios Nobel com categoria

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!

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Author

Posted by Keshav Murthy

Keshav Murthy is a Vice President at Couchbase R&D. Previously, he was at MapR, IBM, Informix, Sybase, with more than 20 years of experience in database design & development. He lead the SQL and NoSQL R&D team at IBM Informix. He has received two President's Club awards at Couchbase, two Outstanding Technical Achievement Awards at IBM. Keshav has a bachelor's degree in Computer Science and Engineering from the University of Mysore, India, and has received twenty four US patents.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.