User:TweetsFactsAndQueries/Queries/age of US and UK head of government against population age

Originally posted on Twitter and on Mastodon.

#defaultView:LineChart
SELECT ?date ?age ?layer WHERE {
  {
    ?usPresident wdt:P31 wd:Q5;
                 p:P39 [
                   ps:P39 wd:Q11696;
                   pq:P580 ?usPresidentStart
                 ];
                 wdt:P569 ?usPresidentDob.
    BIND(xsd:integer((?usPresidentStart - ?usPresidentDob) / 365.2425) AS ?usPresidentAge)
    BIND(?usPresidentStart AS ?date)
    BIND(?usPresidentAge AS ?age)
    BIND("US president"@en AS ?layer)
  } UNION {
    ?ukPrimeMinister wdt:P31 wd:Q5;
                     p:P39 [
                       ps:P39 wd:Q14211;
                       pq:P580 ?ukPrimeMinisterStart
                     ];
                     wdt:P569 ?ukPrimeMinisterDob.
    BIND(xsd:integer((?ukPrimeMinisterStart - ?ukPrimeMinisterDob) / 365.2425) AS ?ukPrimeMinisterAge)
    BIND(?ukPrimeMinisterStart AS ?date)
    BIND(?ukPrimeMinisterAge AS ?age)
    BIND("UK Prime Minister"@en AS ?layer)
  } UNION {
    wd:Q21 p:P4442 [
      ps:P4442 ?englandMeanAge;
      pq:P585 ?englandMeanAgeTime
    ].
    BIND(?englandMeanAgeTime AS ?date)
    BIND(?englandMeanAge AS ?age)
    BIND("England"@en AS ?layer)
  }
  # FILTER(?date >= "1989"^^xsd:dateTime)
}
Try it!