Consulta com mais de uma variável

Consultas com mais de uma variável

Até então, nossas consultas basicamente tinham uma única variável, não considerando aquelas declaradas para o rótulo e/ou descrição do item. Agora vamos ver como fazer consultas com mais de uma variável. 
A consulta a seguir recupera itens que fazem parte da saga de filmes Star Wars e seus respectivos diretores.

#Filmes Star Wars

SELECT ?item  ?itemLabel ?diretor
WHERE
{
  ?item wdt:P179 wd:Q22092344. # item faz parte da saga de filmes Star Wars
  ?item wdt:P57 ?diretor.      # o valor da propriedade "diretor" de ?item será armazenado na variável ?diretor
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

Explicação da consulta

Na seção SELECT, temos as variáveis ?item e ?diretor, além de ?itemLabel e ?diretorLabel, usadas para armazenar os rótulos das variáveis correspondentes. 

Na seção WHERE, nas linhas 6 e 7, vemos os padrões que deverão ser correspondidos:
?item wdt:P179 wd:Q22092344.
?item wdt:P57 ?diretor.

O SPARQL procurará itens no Wikidata com declarações que correspondam aos padrões definidos na seção WHERE. Assim como nas outras consultas, a primeira linha da seção WHERE diz “Encontre itens que tenham uma declaração com a propriedade P179 (série) que tenham como valor Q22092344 (saga de filmes Star Wars).
A segunda linha diz “Agora encontre a propriedade P57 (diretor) de cada um desses itens, e a armazene na variável ?diretor”. 
Como vimos anteriormente, existe um E implícito entre cada declaração na seção WHERE. Isto é, apenas padrões que correspondam a todas as declarações serão devolvidos por esta consulta. 

Agora vamos rodar esta consulta:

O que precisa ser adicionado para vermos os nomes dos diretores? Adicione a informação que está faltando e rode a consulta novamente.

Ver a resposta

# Um pouco de sintaxe

Se quisermos que a consulta mostre o nome de cada diretor, mas não seu número Q, podemos omitir o ?diretor da seção SELECT, e declarar apenas ?diretorLabel. Isso implica que existirá uma variável ?diretor (que vemos na seção WHERE), mas que ela não será apresentada nos resultados da consulta.

Skip to content