query-337787c15245a6b7d0ec3ad151032246
BIND, BOUND, IFDeze drie functies worden vaak in combinatie gebruikt, dus zal ik eerst alle drie uitleggen en u dan een paar voorbeelden laten zien. clausule kan worden gebruikt om het resultaat van een expressie aan een variabele toe te wijzen (meestal een nieuwe variabele, maar u kunt ook een bestaande variabele overschrijven). BIND(expression AS ?variable).Een . OPTIONAL). Het is vooral handig voor variabelen die worden ingevoerd in een clausule false of true test of een variabele is gebonden aan een waarde (resultaat is BOUND(?variable). "terrible" evalueert naar IF(false, "great", "terrible") evalueert naar "yes", en IF(true, "yes", "no"). Dat wil zeggen, elseExpression, en anders naar true als condition wordt beoordeeld als thenExpression evalueert naar IF(condition,thenExpression,elseExpression) kan worden gebruikt om de resultaten van een bepaalde berekening aan een nieuwe variabele te binden. Dit kan een tussentijdse uitkomst zijn van een grotere berekening of gewoon een rechtstreeks resultaat van de query. Bijvoorbeeld om de leeftijd van mensen met de doodstraf te krijgen: 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).
# of, in een expressie:
#BIND(FLOOR((?died - ?born)/365.2425) AS ?age).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}