Recuperando dados ligados a valores

Recuperando dados ligados a valores

Até então, os valores que recuperamos em nossas consultas estavam diretamente relacionados ao item que estávamos selecionando. Suponha que queremos mostrar o local de nascimento do diretor de cada um dos filmes de Star Wars.

#Filmes Star Wars

SELECT ?item  ?itemLabel ?diretorLabel ?loc_nascLabel
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
  ?diretor wdt:P19 ?loc_nasc. # o valor da propriedade “local de nascimento” do diretor será armazenado na variável ?loc_nasc
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

A consulta seleciona itens que sejam parte da saga de filmes Star Wars, recupera o diretor de cada filme e o valor de sua propriedade P19 (local de nascimento).

É importante ressaltar que P19 e o valor atrelado a ela estão conectadas ao diretor – não ao filme! Nós estamos recuperando o valor (o local de nascimento) de uma propriedade (P19) de um valor (o diretor) de uma propriedade (P57) do item que estamos selecionando.

O grafo abaixo representa os dados relacionados ao filme Star Wars: O Império Contra-Ataca (Q181795):

Grafo mostrando Q119348 (Irving Kershner) tanto como o objeto (valor) da declaração da propriedade diretor de Q181795, quanto como o sujeito (item) da declaração da propriedade de local de nascimento.

O item Q181795 (na caixa azul) é o sujeito da declaração Item-Propriedade-Valor:
Q181795 – P57 (diretor) – Q119348 (Irvin Kershner)
O item Q119348 é o valor ou objeto (na caixa verde) da propriedade diretor (na seta preta).

O item Q119348 também é o sujeito da declaração:
Q119348 – P19 (local de nascimento) – Q1345 (Filadélfia)

Agora rode a consulta:

# Um pouco de sintaxe

Uma forma mais curta de formular a consulta acima é usando colchetes ( [ ] ) para unir as duas declarações. Ao invés de escrever:
?item wdt:P57 ?diretor. 
?diretor wdt:P19 ?loc_nasc.

Podemos escrever:
?item wdt:P57 [wdt:P19 ?loc_nasc].

Rode a consulta novamente:

O que mudou? Por quê?

A sintaxe omite a variável ?diretor, então ?diretorLabel está vazio.

Skip to content