query-8463d8b526c18bf009035b462d23e843

rq turtle/ttl

Liste des communes en vigueurBonjour à tous. Dans le cadre du projet de création de tables sur Commons mentionné ci-dessus, je dois procéder à quelques vérifications. J’ai besoin en particulier de la liste des articles existants par division au 1er janvier 2020. A cet effet, j'ai fait la requête suivante concernant les communes (pour les autres divisions, ce doit être quelque chose de similaire), mais elle produit des doublons (par exemple Q192166 apparait deux fois : une ligne sous Ambérieu, une autre sous Ambérieu-en-Bugey (la bonne terminologie). Il faut probablement ajouter un filtre quelque part. Et même en supprimant les doublons, je me demande s'il n'y a pas un autre problème. En recueillant 49209 résultats, on est en effet très largement au-delà des 35000 communes actuelles.

Use at

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
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 ?insee ?item ?nomoff
WHERE {
  BIND ( "2020-01-02"^^xsd:date as ?dateQuery )
  ?item p:P31 ?nature.
  { ?nature ps:P31 wd:Q484170. }                           # commune de France
  OPTIONAL { ?nature pq:P582 ?dateFin }
  OPTIONAL { ?item wdt:P576 ?dateFin. }                    # date dissolution
  FILTER ( !BOUND(?dateFin)|| ?dateFin > ?dateQuery )
  OPTIONAL { ?nature pq:P580 ?dateDébut }
  OPTIONAL { ?item wdt:P571 ?dateDébut. }                  # date création
  OPTIONAL { ?item wdt:P1448 ?nomoff. }
  FILTER ( !BOUND(?dateDébut) || ?dateDébut < ?dateQuery )
  FILTER ( !STRSTARTS(?insee, "98") )                      # - Polynésie
  FILTER ( !STRSTARTS(?insee, "975") )                     # - Saint-Pierre et Miquelon
  ?item wdt:P374 ?insee.
}
ORDER BY (?insee)

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v2("?dateDébut") v4("?dateFin") v5("?dateQuery") v1("?insee"):::projected v5("?item"):::projected v6("?nature") v7("?nomoff"):::projected c5(["wd:Q484170"]):::iri f0[["not starts-with(?insee,'975')"]] f0 --> v1 f1[["not starts-with(?insee,'98')"]] f1 --> v1 f2[["(not bound(?dateDébut) || ?dateDébut < ?dateQuery)"]] f2 --> v2 f2 --> v5 f3[["(not bound(?dateFin) || ?dateFin > ?dateQuery)"]] f3 --> v4 f3 --> v5 bind4[/"'2020-01-02^^xsd:date'"/] bind4 --as--o v5 v5 --"p:P31"--> v6 v6 --"p:statement/P31"--> c5 subgraph optional0["(optional)"] style optional0 fill:#bbf,stroke-dasharray: 5 5; v6 -."p:qualifier/P582".-> v4 end subgraph optional1["(optional)"] style optional1 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:direct/P576".-> v4 end subgraph optional2["(optional)"] style optional2 fill:#bbf,stroke-dasharray: 5 5; v6 -."p:qualifier/P580".-> v2 end subgraph optional3["(optional)"] style optional3 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:direct/P571".-> v2 end subgraph optional4["(optional)"] style optional4 fill:#bbf,stroke-dasharray: 5 5; v5 -."p:direct/P1448".-> v7 end v5 --"p:direct/P374"--> v1