query-1d0d7a40851e1ee62b38486e78202347
En lengua natural, se lee: . ?nieto tiene un hijo ?hijo. ?hijoBach tiene un hijo Una vez más, propongo que abreviemos esta oración, y luego quiero mostrarles cómo SPARQL admite una abreviatura similar. Observa cómo en realidad no nos importa el niño: no usamos la variable excepto para hablar sobre el nieto. Por lo tanto, podríamos abreviar la frase así: . ?nietoBach tiene como hijo a alguien que tiene un hijo ”). En cierto modo, "alguien" es una variable, pero una especial que solo es válida dentro de esta cláusula relativa, y una a la que no nos referimos explícitamente (decimos "alguien que es esto y hace eso", no "alguien que es esto y alguien que hace eso"- son dos "personas" diferentes). ?nieto": esto inicia una cláusula relativa, y dentro de esa cláusula relativa podemos decir cosas sobre "alguien" (por ejemplo, que él o ella "tiene un hijo quién'En lugar de decir quién es el hijo de Bach, solo decimos "alguien": no nos importa quién es. Pero podemos referirnos a ellos porque dijimos "alguien En SPARQL, esto puede ser escrito así:
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 ?nieto ?nietoLabel
WHERE
{
wd:Q1339 wdt:P40 [ wdt:P40 ?nieto ].
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}