query: SELECT ?event ?eventLabel ?date
  WHERE
  {
    # find events
    ?event wdt:P31/wdt:P279* wd:Q1190554.
    # with a point in time or start date
    OPTIONAL { ?event wdt:P585 ?date. }
    OPTIONAL { ?event wdt:P580 ?date. }
    # but at least one of those
    FILTER(BOUND(?date) && DATATYPE(?date) = xsd:dateTime).
    # not in the future, and not more than 31 days ago
    BIND(NOW() - ?date AS ?distance).
    FILTER(0 <= ?distance && ?distance < 31).
    # and get a label as well
    OPTIONAL
    {
      ?event rdfs:label ?eventLabel.
      FILTER(LANG(?eventLabel) = "en").
    }
  }
  # limit to 10 results so we don't timeout
  LIMIT 10