Class: WikidataPositionHistory::SPARQL::ConstituencyMandatesQuery

Inherits:
ItemQuery
  • Object
show all
Defined in:
lib/sparql/mandates_query.rb

Overview

SPARQL for fetching all mandates of a single-member district

Instance Method Summary collapse

Methods inherited from ItemQuery

#initialize, #results_as, #wdqs_url

Constructor Details

This class inherits a constructor from WikidataPositionHistory::SPARQL::ItemQuery

Instance Method Details

#raw_sparqlObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/sparql/mandates_query.rb', line 31

def raw_sparql
  <<~SPARQL
    # constituency-mandates

    SELECT DISTINCT ?ordinal ?item ?start_date ?start_precision ?end_date ?end_precision ?party ?prev ?next ?term
    WHERE {
      ?item wdt:P31 wd:Q5 ; p:P39 ?posn .
      ?posn pq:P768 wd:%s .
      FILTER NOT EXISTS { ?posn wikibase:rank wikibase:DeprecatedRank }

      OPTIONAL { ?posn pqv:P580 [ wikibase:timeValue ?start_date; wikibase:timePrecision ?start_precision ] }
      OPTIONAL { ?posn pqv:P582 [ wikibase:timeValue ?end_date; wikibase:timePrecision ?end_precision ] }
      OPTIONAL { ?posn pq:P1365 ?prev }
      OPTIONAL { ?posn pq:P1366 ?next }
      OPTIONAL { ?posn pq:P4100 ?party }
      OPTIONAL {
        ?posn pq:P2937 ?term .
        OPTIONAL { ?term p:P31/pq:P1545 ?ordinal }
      }
    }
    ORDER BY DESC(?start_date) ?item
  SPARQL
end