query-11485b2bee7d621523b0c71e90a9d44d
BIND, BOUND, IFЦі три функції часто використовуються спільно, тому я спочатку поясню їх, а потім покажу вам декілька прикладів. може бути використане для присвоєння результату виразу змінній (зазвичай новій змінній, але також можна переписати наявну). BIND(expression AS ?variable).Твердження . OPTIONAL). Це в основному корисно для змінних, які вводяться в пункті false or true тестує, чи змінній задано значення і вона пов'язана з ним (повертає BOUND(?variable). "лячний" вираховує IF(false, "великий", "лячний"), а "так" вираховує IF(true, "так", "ні"). Тобто false дорівнює condition, якщо elseExpression і true дорівнює condition, якщо thenExpression вираховує IF(condition,thenExpression,elseExpression) можна використовувати для прив'язки результатів деякого розрахунку до нової змінної. Вона може бути проміжним результатом більшого розрахунку або просто безпосередньо результатом запиту. Наприклад, щоб отримати вік жертв смертної кари: 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).
# або, як один вираз:
#BIND(FLOOR((?died - ?born)/365.2425) AS ?age).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}