query-ba056f835a43229cf2f0c82cbe337709

rq turtle/ttl

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

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]". }
}

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v6("?age"):::projected v4("?ageInDays") v5("?ageInYears") v2("?born") v3("?died") v1("?person"):::projected c6(["wd:Q8454"]):::iri c8(["bd:serviceParam"]):::iri c10(["#91;AUTO_LANGUAGE#93;"]):::literal c2(["wd:Q5"]):::iri v1 --"wdt:P31"--> c2 v1 --"wdt:P569"--> v2 v1 --"wdt:P570"--> v3 v1 --"wdt:P1196"--> c6 bind0[/"?died - ?born"/] v3 --o bind0 v2 --o bind0 bind0 --as--o v4 bind1[/"?ageInDays / '365.2425^^xsd:decimal'"/] v4 --o bind1 bind1 --as--o v5 bind2[/"numeric-floor(?ageInYears)"/] v5 --o bind2 bind2 --as--o v6 subgraph s1["http://wikiba.se/ontology#label"] style s1 stroke-width:4px; c8 --"wikibase:language"--> c10 end