query-cd9e0582d88645145e43be443272a4c2
Agora eu gostaria de apresentar mais um atalho do SPARQL. Mais um cenário hipotético aqui: no Wikidata, que aponta de um pai/mãe para seus filhos e filhas e é independente de generos. Com essa informação, será que consegues escrever uma busca para encontrar os netos e netas de Bach? P:P40Suponha que a gente não ligue para os filhos de Bach. (Como bem pode ser o caso!) Estamos interessados em seus netos, na verdade. Há uma complicação aqui: um neto pode ter relacionado a Bach tanto por sua mãe quanto por seu pai. Isso são duas propriedades diferentes, o que é inconveniente. Em vez disso, vamos inverter a perspectiva: há também a propriedade Aqui a minha solução:
Use at
- https://query.wikidata.org/sparql
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX bd: <http://www.bigdata.com/rdf#>
SELECT ?neto ?netoLabel
WHERE
{
wd:Q1339 wdt:P40 ?criança.
?criança wdt:P40 ?neto.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
Query found at
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v1("?criança")
v2("?neto"):::projected
c1(["wd:Q1339"]):::iri
c4(["bd:serviceParam"]):::iri
c6(["#91;AUTO_LANGUAGE#93;"]):::literal
c1 --"wdt:P40"--> v1
v1 --"wdt:P40"--> v2
subgraph s1["http://wikiba.se/ontology#label"]
style s1 stroke-width:4px;
c4 --"wikibase:language"--> c6
end