query-ceadb596ac4a6bfc2a32a28712674759
BIND, BOUND, IFEstas tres funciones se usan a menudo en conjunto, por lo que primero explicaré las tres y luego mostraré algunos ejemplos. para asignar el resultado de una expresión a una variable (generalmente una nueva variable, pero también puede sobrescribir las existentes). BIND (expresión AS ?variable).Se puede utilizar una cláusula . OPTIONAL). Es sobre todo útil en las variables que se introducen en una cláusula false o true comprueba si una variable se ha vinculado a un valor (devuelve BOUND (?variable). "terrible" evalúa a IF (false, "great", "terrible" ) , y "yes" se evalúa como IF (true, "yes", "no") . Es decir, false se evalúa como condition si la elseExpression , y true se evalúa como condition si thenExpression se evalúa como IF (condición, thenExpression, elseExpression) se puede usar para vincular los resultados de algunos cálculos a una nueva variable. Esto puede ser un resultado intermedio de un cálculo mayor o simplemente un resultado directo de la consulta. Por ejemplo, para obtener la edad de las víctimas de la pena capital: BIND
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 ?persona ?personaLabel ?edad
WHERE
{
?persona wdt:P31 wd:Q5;
wdt:P569 ?nacido;
wdt:P570 ?muerte;
wdt:P1196 wd:Q8454.
BIND(?muerte - ?nacido AS ?edadendias).
BIND(?edadendias/365.2425 AS ?edadena_os).
BIND(FLOOR(?edadena_os) AS ?edad).
# o, como una expresión:
#BIND(FLOOR((?muerte - ?nacido)/365.2425) AS ?edad).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}