query-e9e4f030fec3564408d5c69fc2d16e33

rq turtle/ttl

Propertiesinstance of (P31)located in the administrative territorial entity (P131)end time (P582)

Use at

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/>
SELECT  ?commune ?departement WHERE {
  ?commune p:P31 ?communeStatement . # les trucs qui sont potentiellement
  ?communeStatement ps:P31 ?type . # ...un des types autorisés ci-dessous
  VALUES ?type {
    wd:Q484170 # commune française
    wd:Q2989454 # commune nouvelle
    wd:Q22927616 # commune française à statut particulier
  }
  FILTER NOT EXISTS {
    ?communeStatement pq:P582 [] . # mais alors vraiment des communes pur cru, sans date de fin
  }
  ?commune p:P131 ?communeArrondissementStatement . # qui sont dans un arrondissement
  ?communeArrondissementStatement ps:P131 ?arrondissement .
  ?arrondissement wdt:P31 wd:Q194203 .
  FILTER NOT EXISTS { # qui y sont pour de vrai
    ?communeArrondissementStatement pq:P582 [] .
  }
  ?arrondissement p:P31 ?arrondissementExistsStatement . # un arrondissement sans date de fin
  ?arrondissementExistsStatement ps:P31 wd:Q194203 .
  FILTER NOT EXISTS {
    ?arrondissementExistsStatement pq:P582 [] .
  }
  ?arrondissement p:P131 ?arrondissementDepartementStatement . # qui est dans un département
  ?arrondissementDepartementStatement ps:P131 ?departement . 
  FILTER NOT EXISTS { # mais qui y est sans date de fin
    ?arrondissementDepartementStatement pq:P582 [] .
  }
  ?departement p:P31 ?departementExistsStatement . # un département sans date de fin 
  ?departementExistsStatement ps:P31 ?departementType .
  FILTER NOT EXISTS {
    ?departementExistsStatement pq:P582 [] .
  }
  VALUES ?departementType {
    wd:Q6465 #département de France métropolitaine
    wd:Q28332 # département/région ultramarin
  }
}

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v8("?arrondissement") v2("?arrondissementDepartementStatement") v3("?arrondissementExistsStatement") v6("?commune"):::projected v4("?communeArrondissementStatement") v5("?communeStatement") v9("?departement"):::projected v1("?departementExistsStatement") v11("?departementType") v8("?type") a5((" ")) a4((" ")) a3((" ")) a2((" ")) a1((" ")) c7(["wd:Q194203"]):::iri f0[["not "]] subgraph f0e0["Exists Clause"] e0v1 --"p:qualifier/P582"--> e0a1 e0v1("?departementExistsStatement"):::projected e0a1((" ")):::projected end f0--EXISTS--> f0e0 f0 --> v1 f0 --> c1 f0 --> a1 v1 --"p:qualifier/P582"--> a1 f1[["not "]] subgraph f1e1["Exists Clause"] e1v1 --"p:qualifier/P582"--> e1a1 e1v1("?arrondissementDepartementStatement"):::projected e1a1((" ")):::projected end f1--EXISTS--> f1e1 f1 --> v2 f1 --> c1 f1 --> a2 v2 --"p:qualifier/P582"--> a2 f2[["not "]] subgraph f2e2["Exists Clause"] e2v1 --"p:qualifier/P582"--> e2a1 e2v1("?arrondissementExistsStatement"):::projected e2a1((" ")):::projected end f2--EXISTS--> f2e2 f2 --> v3 f2 --> c1 f2 --> a3 v3 --"p:qualifier/P582"--> a3 f3[["not "]] subgraph f3e3["Exists Clause"] e3v1 --"p:qualifier/P582"--> e3a1 e3v1("?communeArrondissementStatement"):::projected e3a1((" ")):::projected end f3--EXISTS--> f3e3 f3 --> v4 f3 --> c1 f3 --> a4 v4 --"p:qualifier/P582"--> a4 f4[["not "]] subgraph f4e4["Exists Clause"] e4v1 --"p:qualifier/P582"--> e4a1 e4v1("?communeStatement"):::projected e4a1((" ")):::projected end f4--EXISTS--> f4e4 f4 --> v5 f4 --> c1 f4 --> a5 v5 --"p:qualifier/P582"--> a5 v6 --"p:P31"--> v5 v5 --"p:statement/P31"--> v8 bind5[/VALUES ?type/] bind5-->v8 bind50(["wd:Q484170"]) bind50 --> bind5 bind51(["wd:Q2989454"]) bind51 --> bind5 bind52(["wd:Q22927616"]) bind52 --> bind5 v6 --"p:P131"--> v4 v4 --"p:statement/P131"--> v8 v8 --"p:direct/P31"--> c7 v8 --"p:P31"--> v3 v3 --"p:statement/P31"--> c7 v8 --"p:P131"--> v2 v2 --"p:statement/P131"--> v9 v9 --"p:P31"--> v1 v1 --"p:statement/P31"--> v11 bind6[/VALUES ?departementType/] bind6-->v11 bind60(["wd:Q6465"]) bind60 --> bind6 bind61(["wd:Q28332"]) bind61 --> bind6