query-4f25ba8e95faf4d2026b2891d16cc0c3

rq turtle/ttl

BIND, BOUND, IFDiese drei Funktionen werden häufig zusammen verwendet, weshalb ich zunächst alle drei erkläre und dann einige Beispiele zeige. -Klausel kann genutzt werden, um das Ergebnis eines Ausdrucks einer Variablen zuzuweisen (gewöhnlich eine neue Variable, du kannst aber auch bereits existierende überschreiben). BIND(Ausdruck AS ?variable).Eine -Klausel eingeführt werden sinnvoll. OPTIONAL aus). Es ist insbesondere für Variablen, die mit einer false oder true rüft, ob eine Variable an einen Wert gebunden wurde (gibt BOUND(?variable) ausgewertet werden. "schrecklich" als IF(false, "groß", "schrecklich") und "ja" als IF(true, "ja", "nein") ausgewertet wird. Das bedeutet, dass false als Bedingung, wenn andererAusdruck ausgewertet wird, und als true als Bedingung ausgewertet, wenn dannAusdruck wird als IF(Bedingung,dannAusdruck,anderer Ausdruck) kann genutzt werden, um Ergebnisse von Berechnungen an eine neue Variable zu binden. Dies kann ein Zwischenergebnis einer größeren Berechnung oder einfach das direkte Ergebnis einer Abfrage sein. Zum Beispiel, um das Alter der Opfer der Todesstrafe zu erhalten: 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 ?alter
WHERE
{
  ?person wdt:P31 wd:Q5;
          wdt:P569 ?geboren;
          wdt:P570 ?gestorben;
          wdt:P1196 wd:Q8454.
  BIND(?gestorben - ?geboren AS ?alterInTagen).
  BIND(?alterInTagen/365.2425 AS ?alterInJahren).
  BIND(FLOOR(?alterInJahren) AS ?alter).
  # oder als ein Ausdruck:
  #BIND(FLOOR((?gestorben - ?geboren)/365.2425) AS ?alter).
  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("?alter"):::projected v5("?alterInJahren") v4("?alterInTagen") v2("?geboren") v3("?gestorben") 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[/"?gestorben - ?geboren"/] v3 --o bind0 v2 --o bind0 bind0 --as--o v4 bind1[/"?alterInTagen / '365.2425^^xsd:decimal'"/] v4 --o bind1 bind1 --as--o v5 bind2[/"numeric-floor(?alterInJahren)"/] v5 --o bind2 bind2 --as--o v6 subgraph s1["http://wikiba.se/ontology#label"] style s1 stroke-width:4px; c8 --"wikibase:language"--> c10 end