SPARQL/1

De Wikilibros, la colección de libros de texto de contenido libre.
Ir a la navegación Ir a la búsqueda

Esta página describe un uso específico de los nodos vacíos en SPARQL: simplificación de código.

Supongamos que queremos obtener todos aquellos edificios que han ganado un premio, que, a su vez, el premio es un premio de arquitectura [1]. Podremos lograr esto con la siguiente consulta

SELECT DISTINCT ?item ?itemLabel ?itemDescription
{
  # Elementos que son edificios
  ?item wdt:P31 wd:Q41176;
        # Edificios que han ganado algún premio
        wdt:P166 ?premio.
  # El premio debe ser instancia de premio de arquitectura
  ?premio wdt:P31 wd:Q1829324.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

Una consulta más corta puede ser escrita usando la notación de los corchetes como es mostrado en el siguiente bloque.

SELECT DISTINCT ?item ?itemLabel ?itemDescription {
  # Elementos que son edificios
  ?item wdt:P31 wd:Q41176;
        # Los edificios deben haber recibido un premio que, a su vez,
        # es un premio de arquitectura
        wdt:P166 [ wdt:P31 wd:Q1829324 ];
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

Utilizar los corchetes tiene una desventaja.

  1. Recuerde que un edificio no necesariamente puede obtener premios de arquitectura, también pueden obtener cruces. Por ejemplo, Plantilla:Label obtuvo la Plantilla:Label, una cruz. Más información en este enunciado.