query-0c74ea7c809de223fad704e91e29bf46
čeští žijící spisovatelé mladší 35 let s přesností data narození alespoň rok (seřazeni od nejmladšího) SELECT ?spisovatel ?spisovatelLabel ?datumnarozeni ?vek WHERE { ?spisovatel wdt:P106 wd:Q36180 . #povoláním spisovatel ?spisovatel wdt:P27 wd:Q213 . #české státní občanství ?spisovatel p:P569/psv:P569 ?datumnarozeniuzel. #získat uzel s hodnotou data narození ?datumnarozeniuzel wikibase:timePrecision ?presnost. #získat z uzlu hodnotu přesnosti ?datumnarozeniuzel wikibase:timeValue ?datumnarozeni . #získat z uzlu hodnotu data narození BIND (now() as ?nyni) #vytvořit proměnnou ?nyni s aktuálním datem BIND ( year(?nyni) - year(?datumnarozeni) - if(month(?nyni) < month(?datumnarozeni) || ((month(?nyni) = month(?datumnarozeni) && day(?nyni) < day(?datumnarozeni))),1,0) as ?vek ) #vypočítat věk FILTER (?presnost > "8"^^xsd:integer) #vyfiltrovat data s menší přesností, než jsou roky FILTER (?vek < "35"^^xsd:integer) #vyfiltrovat spisovatele starší 34 let FILTER NOT EXISTS { ?spisovatel p:P570 ?cokoliv } #nemá vyplněné datum úmrtí SERVICE wikibase:label { bd:serviceParam wikibase:language "cs,en" . } } GROUP BY ?spisovatel ?spisovatelLabel ?datumnarozeni ?vek ORDER BY DESC (?datumnarozeni)
Use at
- https://query.wikidata.org/sparql
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX psv: <http://www.wikidata.org/prop/statement/value/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX bd: <http://www.bigdata.com/rdf#>
#čeští žijící spisovatelé mladší 35 let s přesností data narození alespoň rok (seřazeni od nejmladšího)
SELECT ?spisovatel ?spisovatelLabel ?datumnarozeni ?vek WHERE {
?spisovatel wdt:P106 wd:Q36180 . #povoláním spisovatel
?spisovatel wdt:P27 wd:Q213 . #české státní občanství
?spisovatel p:P569/psv:P569 ?datumnarozeniuzel. #získat uzel s hodnotou data narození
?datumnarozeniuzel wikibase:timePrecision ?presnost. #získat z uzlu hodnotu přesnosti
?datumnarozeniuzel wikibase:timeValue ?datumnarozeni . #získat z uzlu hodnotu data narození
BIND (now() as ?nyni) #vytvořit proměnnou ?nyni s aktuálním datem
BIND ( year(?nyni) - year(?datumnarozeni) - if(month(?nyni) < month(?datumnarozeni) || ((month(?nyni) = month(?datumnarozeni) && day(?nyni) < day(?datumnarozeni))),1,0) as ?vek ) #vypočítat věk
FILTER (?presnost > "8"^^xsd:integer) #vyfiltrovat data s menší přesností, než jsou roky
FILTER (?vek < "35"^^xsd:integer) #vyfiltrovat spisovatele starší 34 let
FILTER NOT EXISTS { ?spisovatel p:P570 ?cokoliv } #nemá vyplněné datum úmrtí
SERVICE wikibase:label {
bd:serviceParam wikibase:language "cs,en" .
}
} GROUP BY ?spisovatel ?spisovatelLabel ?datumnarozeni ?vek
ORDER BY DESC (?datumnarozeni)