query-ba056f835a43229cf2f0c82cbe337709
BIND, BOUND, IFAquestes tres característiques se solen utilitzar conjuntament, així que primer les explicarem les tres i després veurem alguns exemples. es pot utilitzar per a assignar el resultat d'una expressió a una variable (habitualment una variable nova, però també es pot sobreescriure el valor d'alguna preexistent). BIND(expressió AS ?variable).Una clàusula . OPTIONAL). Sol ser útil per a variables que es posin en una clàusula fals o cert comprova si una variable s'ha vinculat a un valor (retorna BOUND(?variable). "terrible" avalua a IF(fals, "genial", "terrible"), i "sí" avalua a IF(cert, "sí", "no"). O sigui, fals avalua a condició si altramentExpressió, i a cert avalua a condició si aleshoresExpressió avalua a IF(condició,aleshoresExpressió,altramentExpressió) es pot utilitzar per a vincular el resultat d'algun càlcul a una variable nova. Pot ser un resultat intermedi d'un càlcul més gran o un resultat directe d'una consulta. Per exemple, per obtenir l'edat de les víctimes de la pena de mort: 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 ?person ?personLabel ?age
WHERE
{
?person wdt:P31 wd:Q5;
wdt:P569 ?born;
wdt:P570 ?died;
wdt:P1196 wd:Q8454.
BIND(?died - ?born AS ?ageInDays).
BIND(?ageInDays/365.2425 AS ?ageInYears).
BIND(FLOOR(?ageInYears) AS ?age).
# o, com una expressió:
#BIND(FLOOR((?died - ?born)/365.2425) AS ?age).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}