query-0397dc9b3623b8919e31589de5029d5c

rq turtle/ttl

Number of veteran MPs and completely new MPs returned at each general election

Note that "veteran" includes any previous UK Parliament experience, which may not have been in the previous term

Thus an MP who leaves, spends some time out of Parliament, and returns, will count as "veteran" not "new"

Also includes the number who held office at the dissolution immediately preceding the election

ie those who had recent experience and no break in service

and those who have any experience in a devolved assembly

new MPs are defined as having neither UK nor devolved experience

SELECT distinct ?election ?electionLabel ?members ?westminster_experience ?has_devolved_experience ?devolved_experience_only ?held_at_dissolution ?new

WITH { SELECT DISTINCT ?item ?membership ?election ?electiondate ?membership2 ?positionStatement2 ?devolvedmembership ?positionStatement3 ?reason WHERE {

 # find all general elections and their date
 ?election wdt:P31 wd:Q15283424 . ?election wdt:P585 ?electiondate . 
 filter (?electiondate >= "1832-01-01T00:00:00Z"^^xsd:dateTime) .

 # item holds a term which began with the election
 ?item p:P39 ?positionStatement . ?positionStatement ps:P39 ?membership . 
 ?membership wdt:P2715 ?election . ?positionStatement pq:P2715 ?election .

 OPTIONAL {
     # find other positions held
     ?item p:P39 ?positionStatement2 .
     ?positionStatement2 ps:P39 ?membership2 .
     ?positionStatement2 pq:P580 ?start . filter ( ?start < ?electiondate ) .
     ?membership2 wdt:P279 wd:Q16707842 .
     optional {?positionStatement2 pq:P1534 ?reason .}
     # optionally find whether they held office during a previous term, and if so why they left
 }
 OPTIONAL {
     # find other positions held
     ?item p:P39 ?positionStatement3 .
     ?positionStatement3 ps:P39 ?devolvedmembership .
     ?positionStatement3 pq:P580 ?start3 . filter ( ?start3 < ?electiondate ) .
     { ?devolvedmembership wdt:P279 wd:Q1711695 . } union
     { ?devolvedmembership wdt:P279 wd:Q3406079 . } union
     { ?devolvedmembership wdt:P279 wd:Q3272410. } 
     # ... where they previously were an MSP, MLA, or AM; only the "modern" NI assembly 
     # is counted (1998-date), as previous incarnations do yet not have term dates available
 }

} } AS %members

WHERE {

{ SELECT ?election ?electiondate (count(distinct ?item) as ?members) where { INCLUDE %members . } group by ?election ?electiondate } # count all members for each election

{ SELECT ?election ?electiondate (count(distinct ?item) as ?westminster_experience) where { INCLUDE %members . FILTER (BOUND (?membership2)) . } group by ?election ?electiondate } # count all peoiple with any earlier term, for each election

{ SELECT ?election ?electiondate (count(distinct ?item) as ?held_at_dissolution) where { INCLUDE %members . FILTER (BOUND (?positionStatement2)) . FILTER EXISTS {?membership wdt:P155 ?membership2} . filter(?reason=wd:Q741182) } group by ?election ?electiondate } # count all people who served in the immediately previous term, and left at dissolution

# people with devolved experience optional { SELECT ?election ?electiondate (count(distinct ?item) as ?has_devolved_experience) where { INCLUDE %members . FILTER (BOUND (?positionStatement3)) . } group by ?election ?electiondate }

# people with devolved experience but not Westminster experience optional { SELECT ?election ?electiondate (count(distinct ?item) as ?devolved_experience_only) where { INCLUDE %members . FILTER (BOUND (?positionStatement3)) . FILTER (!BOUND (?positionStatement2)) . } group by ?election ?electiondate } bind(if(bound(?devolved_experience_only),?devolved_experience_only,0) as ?deo) bind((?members-?westminster_experience-?deo) as ?new) SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' } } order by desc(?electiondate)

Use at

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 ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX bd: <http://www.bigdata.com/rdf#>
# Number of veteran MPs and completely new MPs returned at each general election
# Note that "veteran" includes any previous UK Parliament experience, which may not have been in the previous term
# Thus an MP who leaves, spends some time out of Parliament, and returns, will count as "veteran" not "new"
# Also includes the number who held office at the dissolution immediately preceding the election
# ie those who had recent experience and no break in service
# and those who have any experience in a devolved assembly
# new MPs are defined as having neither UK nor devolved experience

SELECT distinct ?election ?electionLabel ?members ?westminster_experience ?has_devolved_experience ?devolved_experience_only ?held_at_dissolution ?new


WHERE {

  { SELECT ?election ?electiondate (count(distinct ?item) as ?members) where 
    {  {
   SELECT DISTINCT ?item ?membership ?election ?electiondate ?membership2 ?positionStatement2 ?devolvedmembership ?positionStatement3 ?reason WHERE {

     # find all general elections and their date
     ?election wdt:P31 wd:Q15283424 . ?election wdt:P585 ?electiondate . 
     filter (?electiondate >= "1832-01-01T00:00:00Z"^^xsd:dateTime) . 

     # item holds a term which began with the election
     ?item p:P39 ?positionStatement . ?positionStatement ps:P39 ?membership . 
     ?membership wdt:P2715 ?election . ?positionStatement pq:P2715 ?election . 

     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement2 .
         ?positionStatement2 ps:P39 ?membership2 .
         ?positionStatement2 pq:P580 ?start . filter ( ?start < ?electiondate ) .
         ?membership2 wdt:P279 wd:Q16707842 .
         optional {?positionStatement2 pq:P1534 ?reason .}
         # optionally find whether they held office during a previous term, and if so why they left
     }
     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement3 .
         ?positionStatement3 ps:P39 ?devolvedmembership .
         ?positionStatement3 pq:P580 ?start3 . filter ( ?start3 < ?electiondate ) .
         { ?devolvedmembership wdt:P279 wd:Q1711695 . } union
         { ?devolvedmembership wdt:P279 wd:Q3406079 . } union
         { ?devolvedmembership wdt:P279 wd:Q3272410. } 
         # ... where they previously were an MSP, MLA, or AM; only the "modern" NI assembly 
         # is counted (1998-date), as previous incarnations do yet not have term dates available
     }
   }
}.
    } group by ?election ?electiondate 
  } # count all members for each election

  { SELECT ?election ?electiondate (count(distinct ?item) as ?westminster_experience) where 
    {  {
   SELECT DISTINCT ?item ?membership ?election ?electiondate ?membership2 ?positionStatement2 ?devolvedmembership ?positionStatement3 ?reason WHERE {

     # find all general elections and their date
     ?election wdt:P31 wd:Q15283424 . ?election wdt:P585 ?electiondate . 
     filter (?electiondate >= "1832-01-01T00:00:00Z"^^xsd:dateTime) . 

     # item holds a term which began with the election
     ?item p:P39 ?positionStatement . ?positionStatement ps:P39 ?membership . 
     ?membership wdt:P2715 ?election . ?positionStatement pq:P2715 ?election . 

     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement2 .
         ?positionStatement2 ps:P39 ?membership2 .
         ?positionStatement2 pq:P580 ?start . filter ( ?start < ?electiondate ) .
         ?membership2 wdt:P279 wd:Q16707842 .
         optional {?positionStatement2 pq:P1534 ?reason .}
         # optionally find whether they held office during a previous term, and if so why they left
     }
     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement3 .
         ?positionStatement3 ps:P39 ?devolvedmembership .
         ?positionStatement3 pq:P580 ?start3 . filter ( ?start3 < ?electiondate ) .
         { ?devolvedmembership wdt:P279 wd:Q1711695 . } union
         { ?devolvedmembership wdt:P279 wd:Q3406079 . } union
         { ?devolvedmembership wdt:P279 wd:Q3272410. } 
         # ... where they previously were an MSP, MLA, or AM; only the "modern" NI assembly 
         # is counted (1998-date), as previous incarnations do yet not have term dates available
     }
   }
}.
      FILTER (BOUND (?membership2)) .
    } group by ?election ?electiondate
  } # count all peoiple with any earlier term, for each election

  { SELECT ?election ?electiondate (count(distinct ?item) as ?held_at_dissolution) where 
    {  {
   SELECT DISTINCT ?item ?membership ?election ?electiondate ?membership2 ?positionStatement2 ?devolvedmembership ?positionStatement3 ?reason WHERE {

     # find all general elections and their date
     ?election wdt:P31 wd:Q15283424 . ?election wdt:P585 ?electiondate . 
     filter (?electiondate >= "1832-01-01T00:00:00Z"^^xsd:dateTime) . 

     # item holds a term which began with the election
     ?item p:P39 ?positionStatement . ?positionStatement ps:P39 ?membership . 
     ?membership wdt:P2715 ?election . ?positionStatement pq:P2715 ?election . 

     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement2 .
         ?positionStatement2 ps:P39 ?membership2 .
         ?positionStatement2 pq:P580 ?start . filter ( ?start < ?electiondate ) .
         ?membership2 wdt:P279 wd:Q16707842 .
         optional {?positionStatement2 pq:P1534 ?reason .}
         # optionally find whether they held office during a previous term, and if so why they left
     }
     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement3 .
         ?positionStatement3 ps:P39 ?devolvedmembership .
         ?positionStatement3 pq:P580 ?start3 . filter ( ?start3 < ?electiondate ) .
         { ?devolvedmembership wdt:P279 wd:Q1711695 . } union
         { ?devolvedmembership wdt:P279 wd:Q3406079 . } union
         { ?devolvedmembership wdt:P279 wd:Q3272410. } 
         # ... where they previously were an MSP, MLA, or AM; only the "modern" NI assembly 
         # is counted (1998-date), as previous incarnations do yet not have term dates available
     }
   }
}.
      FILTER (BOUND (?positionStatement2)) .
      FILTER EXISTS {?membership wdt:P155 ?membership2} .
      filter(?reason=wd:Q741182)
    } group by ?election ?electiondate
  } # count all people who served in the immediately previous term, and left at dissolution

  # people with devolved experience
  optional { SELECT ?election ?electiondate (count(distinct ?item) as ?has_devolved_experience) where 
    {  {
   SELECT DISTINCT ?item ?membership ?election ?electiondate ?membership2 ?positionStatement2 ?devolvedmembership ?positionStatement3 ?reason WHERE {

     # find all general elections and their date
     ?election wdt:P31 wd:Q15283424 . ?election wdt:P585 ?electiondate . 
     filter (?electiondate >= "1832-01-01T00:00:00Z"^^xsd:dateTime) . 

     # item holds a term which began with the election
     ?item p:P39 ?positionStatement . ?positionStatement ps:P39 ?membership . 
     ?membership wdt:P2715 ?election . ?positionStatement pq:P2715 ?election . 

     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement2 .
         ?positionStatement2 ps:P39 ?membership2 .
         ?positionStatement2 pq:P580 ?start . filter ( ?start < ?electiondate ) .
         ?membership2 wdt:P279 wd:Q16707842 .
         optional {?positionStatement2 pq:P1534 ?reason .}
         # optionally find whether they held office during a previous term, and if so why they left
     }
     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement3 .
         ?positionStatement3 ps:P39 ?devolvedmembership .
         ?positionStatement3 pq:P580 ?start3 . filter ( ?start3 < ?electiondate ) .
         { ?devolvedmembership wdt:P279 wd:Q1711695 . } union
         { ?devolvedmembership wdt:P279 wd:Q3406079 . } union
         { ?devolvedmembership wdt:P279 wd:Q3272410. } 
         # ... where they previously were an MSP, MLA, or AM; only the "modern" NI assembly 
         # is counted (1998-date), as previous incarnations do yet not have term dates available
     }
   }
}.
      FILTER (BOUND (?positionStatement3)) .
    } group by ?election ?electiondate
  } 

  # people with devolved experience but not Westminster experience
  optional { SELECT ?election ?electiondate (count(distinct ?item) as ?devolved_experience_only) where 
    {  {
   SELECT DISTINCT ?item ?membership ?election ?electiondate ?membership2 ?positionStatement2 ?devolvedmembership ?positionStatement3 ?reason WHERE {

     # find all general elections and their date
     ?election wdt:P31 wd:Q15283424 . ?election wdt:P585 ?electiondate . 
     filter (?electiondate >= "1832-01-01T00:00:00Z"^^xsd:dateTime) . 

     # item holds a term which began with the election
     ?item p:P39 ?positionStatement . ?positionStatement ps:P39 ?membership . 
     ?membership wdt:P2715 ?election . ?positionStatement pq:P2715 ?election . 

     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement2 .
         ?positionStatement2 ps:P39 ?membership2 .
         ?positionStatement2 pq:P580 ?start . filter ( ?start < ?electiondate ) .
         ?membership2 wdt:P279 wd:Q16707842 .
         optional {?positionStatement2 pq:P1534 ?reason .}
         # optionally find whether they held office during a previous term, and if so why they left
     }
     OPTIONAL {
         # find other positions held
         ?item p:P39 ?positionStatement3 .
         ?positionStatement3 ps:P39 ?devolvedmembership .
         ?positionStatement3 pq:P580 ?start3 . filter ( ?start3 < ?electiondate ) .
         { ?devolvedmembership wdt:P279 wd:Q1711695 . } union
         { ?devolvedmembership wdt:P279 wd:Q3406079 . } union
         { ?devolvedmembership wdt:P279 wd:Q3272410. } 
         # ... where they previously were an MSP, MLA, or AM; only the "modern" NI assembly 
         # is counted (1998-date), as previous incarnations do yet not have term dates available
     }
   }
}.
      FILTER (BOUND (?positionStatement3)) .
      FILTER (!BOUND (?positionStatement2)) .
    } group by ?election ?electiondate
  } 
  bind(if(bound(?devolved_experience_only),?devolved_experience_only,0) as ?deo)
  bind((?members-?westminster_experience-?deo) as ?new)
  SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' }
} order by desc(?electiondate)

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v18("?deo") v17("?devolved_experience_only"):::projected v12("?devolvedmembership") v4("?election"):::projected v1("?electiondate") v16("?has_devolved_experience"):::projected v15("?held_at_dissolution"):::projected v5("?item") v13("?members"):::projected v7("?membership") v9("?membership2") v19("?new"):::projected v6("?positionStatement") v8("?positionStatement2") v11("?positionStatement3") v10("?reason") v3("?start") v2("?start3") v14("?westminster_experience"):::projected c11(["wd:Q16707842"]):::iri c21(["en"]):::literal c13(["wd:Q1711695"]):::iri c15(["wd:Q3272410"]):::iri c14(["wd:Q3406079"]):::iri c19(["bd:serviceParam"]):::iri c3(["wd:Q15283424"]):::iri f0[["?electiondate >= '1832-01-01T00:00:00Z^^xsd:dateTime'"]] f0 --> v1 v4 --"p:direct/P31"--> c3 v4 --"p:direct/P585"--> v1 v5 --"p:P39"--> v6 v6 --"p:statement/P39"--> v7 v7 --"p:direct/P2715"--> v4 v6 --"p:qualifier/P2715"--> v4 subgraph optional0["(optional)"] style optional0 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v8 v8 --"p:statement/P39"--> v9 v8 --"p:qualifier/P580"--> v3 v9 --"p:direct/P279"--> c11 subgraph optional1["(optional)"] style optional1 fill:#bbf,stroke-dasharray: 5 5; v8 -."p:qualifier/P1534".-> v10 end end subgraph optional2["(optional)"] style optional2 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v11 v11 --"p:statement/P39"--> v12 v11 --"p:qualifier/P580"--> v2 subgraph union0[" Union "] subgraph union0l[" "] style union0l fill:#abf,stroke-dasharray: 3 3; subgraph union1[" Union "] subgraph union1l[" "] style union1l fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c15 end subgraph union1r[" "] style union1r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c14 end union1r <== or ==> union1l end end subgraph union0r[" "] style union0r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c13 end union0r <== or ==> union0l end end bind2[/"count(?item)"/] v5 --o bind2 bind2 --as--o v13 f3[["bound(?membership2)"]] f3 --> v9 f4[["?electiondate >= '1832-01-01T00:00:00Z^^xsd:dateTime'"]] f4 --> v1 v4 --"p:direct/P31"--> c3 v4 --"p:direct/P585"--> v1 v5 --"p:P39"--> v6 v6 --"p:statement/P39"--> v7 v7 --"p:direct/P2715"--> v4 v6 --"p:qualifier/P2715"--> v4 subgraph optional3["(optional)"] style optional3 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v8 v8 --"p:statement/P39"--> v9 v8 --"p:qualifier/P580"--> v3 v9 --"p:direct/P279"--> c11 subgraph optional4["(optional)"] style optional4 fill:#bbf,stroke-dasharray: 5 5; v8 -."p:qualifier/P1534".-> v10 end end subgraph optional5["(optional)"] style optional5 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v11 v11 --"p:statement/P39"--> v12 v11 --"p:qualifier/P580"--> v2 subgraph union2[" Union "] subgraph union2l[" "] style union2l fill:#abf,stroke-dasharray: 3 3; subgraph union3[" Union "] subgraph union3l[" "] style union3l fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c15 end subgraph union3r[" "] style union3r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c14 end union3r <== or ==> union3l end end subgraph union2r[" "] style union2r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c13 end union2r <== or ==> union2l end end bind6[/"count(?item)"/] v5 --o bind6 bind6 --as--o v14 f7[["?reason = 'wd:Q741182'"]] f7 --> v10 f8[[" "]] subgraph f8e0["Exists Clause"] e0v1 --"p:direct/P155"--> e0v2 e0v1("?membership"):::projected e0v2("?membership2"):::projected end f8--EXISTS--> f8e0 f8 --> v7 f8 --> c17 f8 --> v9 v7 --"p:direct/P155"--> v9 f9[["bound(?positionStatement2)"]] f9 --> v8 f10[["?electiondate >= '1832-01-01T00:00:00Z^^xsd:dateTime'"]] f10 --> v1 v4 --"p:direct/P31"--> c3 v4 --"p:direct/P585"--> v1 v5 --"p:P39"--> v6 v6 --"p:statement/P39"--> v7 v7 --"p:direct/P2715"--> v4 v6 --"p:qualifier/P2715"--> v4 subgraph optional6["(optional)"] style optional6 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v8 v8 --"p:statement/P39"--> v9 v8 --"p:qualifier/P580"--> v3 v9 --"p:direct/P279"--> c11 subgraph optional7["(optional)"] style optional7 fill:#bbf,stroke-dasharray: 5 5; v8 -."p:qualifier/P1534".-> v10 end end subgraph optional8["(optional)"] style optional8 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v11 v11 --"p:statement/P39"--> v12 v11 --"p:qualifier/P580"--> v2 subgraph union4[" Union "] subgraph union4l[" "] style union4l fill:#abf,stroke-dasharray: 3 3; subgraph union5[" Union "] subgraph union5l[" "] style union5l fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c15 end subgraph union5r[" "] style union5r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c14 end union5r <== or ==> union5l end end subgraph union4r[" "] style union4r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c13 end union4r <== or ==> union4l end end bind12[/"count(?item)"/] v5 --o bind12 bind12 --as--o v15 subgraph optional9["(optional)"] style optional9 fill:#bbf,stroke-dasharray: 5 5; f13[["bound(?positionStatement3)"]] f13 --> v11 f14[["?electiondate >= '1832-01-01T00:00:00Z^^xsd:dateTime'"]] f14 --> v1 v4 -."p:direct/P31".-> c3 v4 --"p:direct/P585"--> v1 v5 --"p:P39"--> v6 v6 --"p:statement/P39"--> v7 v7 --"p:direct/P2715"--> v4 v6 --"p:qualifier/P2715"--> v4 subgraph optional10["(optional)"] style optional10 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v8 v8 --"p:statement/P39"--> v9 v8 --"p:qualifier/P580"--> v3 v9 --"p:direct/P279"--> c11 subgraph optional11["(optional)"] style optional11 fill:#bbf,stroke-dasharray: 5 5; v8 -."p:qualifier/P1534".-> v10 end end subgraph optional12["(optional)"] style optional12 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v11 v11 --"p:statement/P39"--> v12 v11 --"p:qualifier/P580"--> v2 subgraph union6[" Union "] subgraph union6l[" "] style union6l fill:#abf,stroke-dasharray: 3 3; subgraph union7[" Union "] subgraph union7l[" "] style union7l fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c15 end subgraph union7r[" "] style union7r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c14 end union7r <== or ==> union7l end end subgraph union6r[" "] style union6r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c13 end union6r <== or ==> union6l end end bind16[/"count(?item)"/] v5 --o bind16 bind16 --as--o v16 end subgraph optional13["(optional)"] style optional13 fill:#bbf,stroke-dasharray: 5 5; f17[["not bound(?positionStatement2)"]] f17 --> v8 f18[["bound(?positionStatement3)"]] f18 --> v11 f19[["?electiondate >= '1832-01-01T00:00:00Z^^xsd:dateTime'"]] f19 --> v1 v4 -."p:direct/P31".-> c3 v4 --"p:direct/P585"--> v1 v5 --"p:P39"--> v6 v6 --"p:statement/P39"--> v7 v7 --"p:direct/P2715"--> v4 v6 --"p:qualifier/P2715"--> v4 subgraph optional14["(optional)"] style optional14 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v8 v8 --"p:statement/P39"--> v9 v8 --"p:qualifier/P580"--> v3 v9 --"p:direct/P279"--> c11 subgraph optional15["(optional)"] style optional15 fill:#bbf,stroke-dasharray: 5 5; v8 -."p:qualifier/P1534".-> v10 end end subgraph optional16["(optional)"] style optional16 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:P39".-> v11 v11 --"p:statement/P39"--> v12 v11 --"p:qualifier/P580"--> v2 subgraph union8[" Union "] subgraph union8l[" "] style union8l fill:#abf,stroke-dasharray: 3 3; subgraph union9[" Union "] subgraph union9l[" "] style union9l fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c15 end subgraph union9r[" "] style union9r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c14 end union9r <== or ==> union9l end end subgraph union8r[" "] style union8r fill:#abf,stroke-dasharray: 3 3; v12 --"p:direct/P279"--> c13 end union8r <== or ==> union8l end end bind21[/"count(?item)"/] v5 --o bind21 bind21 --as--o v17 end bind22[/"if(bound(?devolved_experience_only),?devolved_experience_only,'0^^xsd:integer')"/] v17 --o bind22 bind22 --as--o v18 bind23[/"?members - ?westminster_experience - ?deo"/] v13 --o bind23 v14 --o bind23 v18 --o bind23 bind23 --as--o v19 subgraph s1["http://wikiba.se/ontology#label"] style s1 stroke-width:4px; c19 --"wikibase:language"--> c21 end