Outro exercício

| Exercício: Escreva uma consulta que mostre onde nasceram os atores de cada filme da saga Star Wars.

Dica: use DISTINCT para remover duplicatas dos resultados.

ver a resposta

Edite a consulta para adicionar uma imagem (P18) de cada ator aos resultados.

ver a resposta

Se você está se perguntando o porquê desta segunda consulta ter menos resultados que a anterior, releia a seção sobre a cláusula OPTIONAL.

Datas

Consultas “Quando”: Datas

Estas consultas recuperam informações relativas a datas. Isso torna possível apresentar os resultados na forma de uma linha do tempo.

Recomendamos ler a seção de introdução ao Wikidata e aprender sobre a estrutura do mesmo, assim como a seção sobre a consulta mais simples antes de proceder.

Vamos começar com um exemplo simples. A consulta a seguir mostra quando os álbuns da cantora Madonna (Q1744) foram lançados:

Após rodar a consulta, dê uma olhada nos resultados. Acima da tabela, clique na seta próxima ao ícone que representa um olho. Um menu suspenso irá aparecer. Clique em “Timeline” (“Linha do tempo”, em português) e o WDQS mostrará os resultados na forma de uma linha do tempo.

Outra forma de fazer isso é especificando essa visualização na própria consulta. Abaixo, o código na linha 2, após o símbolo de hashtag (#), informa que os resultados devem ser mostrados como uma linha do tempo, ao invés de na forma de uma tabela.

Você não precisa se lembrar do código exato para a visualização como linha de tempo. Graças à ferramenta de preenchimento automático do WDQS, basta digitar uma hashtag (#) na janela da consulta. Um menu suspenso vai aparecer com sugestões de diferentes formas de visualização.

Datas ligadas

Recuperando datas ligadas a valores

Na consulta anterior, as datas estavam diretamente conectadas aos itens que selecionamos. Mas esse nem sempre será o caso. Tendo aprendido como recuperar dados ligados a valores, é relativamente fácil recuperar dados relacionados a itens. Vejamos um exemplo: a consulta a seguir mostra a data de nascimento dos diretores dos filmes de Star Wars em uma linha do tempo.

Note que usamos o modificador DISTINCT para retirar duplicatas dos resultados.

Exercício: datas

| Exercício: escreva uma consulta que mostre a data de nascimento de mulheres que sejam chefes de governo de Estados soberanos

Dica: selecione Estados soberanos (Q3624078) que tenham um chefe de governo (P6) que é do sexo ou gênero feminino (i.e. sexo ou gênero (P21) com valor feminino (Q6581072)), e recupere suas datas de nascimento.

ver a resposta

Datas e qualificadores

Datas and qualificadores

Se você aprendeu a fazer consultas envolvendo qualificadores, tente resolver este exercício:

| Exercício: Escreva uma consulta que mostre, em uma linha do tempo, as datas de nascimento dos atores que interpretaram o papel de James Bond na franquia de filmes James Bond (Q2484680)

Dica: a propriedade elenco (P161) tem a propriedade P453 (papel) como um qualificador, com o valor Q2009573 (James Bond).

Use DISTINCT para remover duplicatas dos resultados.

ver a resposta

Exercício: qualificadores de datas

Exercício: escreva uma consulta que mostre quem são as mulheres vencedoras do Nobel de Literatura, e quando elas receberam o prêmio.

Dica: a propriedade “prêmios recebidos” (P166) tem P585 (data de ocorrência) como um qualificador.

ver a resposta

Se você já aprendeu sobre instâncias e classes, tente este desafio. Altere a consulta acima para mostrar todas as mulheres que receberam algum prêmio Nobel, qual prêmio foi, e quando o receberam.

Dica: o valor da propriedade de “prêmios recebidos” (P166) é uma subclasse (P279) de “Prêmio Nobel” (Q7191).

ver a resposta

Modificando seus resultados

Modificando seus resultados

Nas consultas que vimos até agora, todos os itens que correspondiam a certo padrão eram selecionados e mostrados nos resultados. Mas muitas vezes temos interesse em apenas alguns dos resultados, ou em certo aspecto deles. Nesta seção você vai aprender algumas palavras-chave e funções que o ajudarão a retirar o máximo possível de seus dados.

Até então, nossas consultas tinham apenas duas cláusulas. SELECT, onde declaramos as variáveis que serão mostradas nos resultados, e WHERE, onde estão os padrões que devem ser reconhecidos nos dados.

# Filmes Star Wars
SELECT ?item
WHERE
{
  ?item wdt:P179 wd:Q22092344.
}

Na próxima seção, você vai aprender a modificar os resultados de suas consultas. Isso pode ser feito adicionando palavras-chave e funções adicionais à cláusula SELECT, à WHERE, ou depois de WHERE. Na verdade, você já pode ter visto um exemplo disto neste tutorial – o modificador DISTINCT, que pode ser adicionado à SELECT, para remover duplicatas dos resultados.

COUNT

COUNT

A função de agregação COUNT (“contar”, em português) pode ser usada para escrever consultas que respondam à pergunta: “Quantos itens correspondem a um certo padrão?”. Em tais casos, não estamos interessados em quais são os itens que correspondem ao padrão de nossa consulta, mas sim em quantos deles existem. 

Suponha que queremos saber quantos itens existem no Wikidata sobre mulheres que são químicas. Para isso, poderíamos usar a consulta a seguir:

Acima da tabela com os resultados, o WDQS mostra quantos itens foram encontrados, e quantos milissegundos foram necessários para rodar a consulta.

Mas essa estratégia nem sempre funciona. Suponha que queremos saber quantos itens existem no Wikidata sobre atrizes. A princípio, poderíamos apenas editar a consulta acima:

# Mulheres que são atrizes

SELECT ?item ?itemLabel
WHERE {
  ?item wdt:P31 wd:Q5.            # Item é uma instância de ser humano.
  ?item wdt:P21 wd:Q6581072.      # Item tem sexo / gênero feminino.
  ?item wdt:P106 wd:Q33999.      # Item tem ocupação: atriz.
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

A princípio, o WDQS retornaria todos os itens que correspondem ao nosso padrão, e nos diria quantos deles existem. Entretanto, como o número de itens que correspondem ao padrão é muito grande, a consulta entrará em timeout (“tempo esgotado”, em português). Isso acontece porque há um tempo limite de 60 segundos para que uma consulta seja executada. Toda consulta que demore mais do que isso para rodar entrará em timeout.

Usaremos outra abordagem para saber quantas atrizes existem no Wikidata. Declaramos uma nova variável na cláusula SELECT, chamada ?contadorAtrizes. A variável será definida como o COUNT (a contagem) de itens cujo padrão corresponda àquele definido na cláusula WHERE.

Esta consulta tem apenas um resultado: a variável contadorAtrizes, com o valor da contagem de todos os itens que correspondem ao padrão de busca (seres humanos, de sexo ou gênero feminino, e que sejam atrizes).

Skip to content