Project:SPARQL/examples/fr: Difference between revisions

From Resistance in Belgium
(Created page with "#title: Lieux et dates de décès pendant la guerre")
(Created page with "SELECT ?personne ?personneLabel ?dateNaissance WHERE { ?personne wdt:P1 wd:Q2 . # Sélectionne tous les éléments qui sont (P1) des personnes (Q2) ?personne wdt:P3 "Barbieux" . # Filtre pour ne prendre que des personnes dont le nom de famille (P3) est "Barbieux" (modifiez "Barbieux" selon le besoin) ?personne wdt:P67 ?dateNaissance . # Ajoute la date de naissance (P67) SERVICE wikibase:label { bd:serviceParam...")
Line 237: Line 237:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
# Cette requête récupère la liste des résistants reconnus agents de renseignements et d'action (ARA)
# This query retrieves the list of resistance fighters recognised as intelligence and action agents (ARA)
# ou ayant reçu une lettre de remerciements (LR) ou un statut FFC (Forces Françaises Combattantes), avec leur domicile et dossier d'archives lié.
# or who received a letter of thanks (LR) or FFC (Forces Françaises Combattantes) status, along with their residence and linked archive file.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Résistants ARA (reconnus ou lettre de remerciements) ou FFC
#title: ARA resistance fighters (recognised or letter of thanks) or FFC
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT DISTINCT ?personne ?nom ?prenom ?domicile ?domicileLabel ?statutObtenuLabel ?LR ?fondsArchivesLabel ?noInventaire WHERE {
SELECT DISTINCT ?person ?surname ?firstName ?residence ?residenceLabel ?recognisedStatusLabel ?LR ?archiveCollectionLabel ?inventoryNo WHERE {
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
    ?personne wdt:P1 wd:Q2 .                    # Sélectionne les personnes (P1 = Q2)
?person wdt:P1 wd:Q2 .                    # Selects persons (P1 = Q2)
   ?personne wdt:P3 ?nom .                   # Récupère le nom de famille (P3)
   ?person wdt:P3 ?surname .               # Retrieves the surname (P3)
   ?personne wdt:P2 ?prenom .                 # Récupère le prénom (P2)
   ?person wdt:P2 ?firstName .             # Retrieves the first name (P2)
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
  { ?personne wdt:P55 ?statutObtenu.  
{ ?person wdt:P55 ?recognisedStatus.  
     FILTER(?statutObtenu IN (wd:Q17, wd:Q4487)) }  # Filtre pour les statuts de reconnaissance ARA (Q17) ou FFC (Q4487)
     FILTER(?recognisedStatus IN (wd:Q17, wd:Q4487)) }  # Filters for recognised ARA statuses (Q17) or FFC (Q4487)
   UNION                                            # OU
   UNION                                            # OR
   { ?personne p:P54 ?statement.
   { ?person p:P54 ?statement.
     ?statement ps:P54 wd:Q17; pq:P56 wd:Q6665.    # Les personnes ayant reçu une lettre de remerciement (Q6665)
     ?statement ps:P54 wd:Q17; pq:P56 wd:Q6665.    # Persons who received a letter of thanks (Q6665)
     BIND("lettre de remerciements ARA" AS ?LR)}
     BIND("letter of thanks ARA" AS ?LR)}
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
    OPTIONAL { ?personne wdt:P7 ?domicile. }        # Récupère le domicile si disponible (P7)
OPTIONAL { ?person wdt:P7 ?residence. }        # Retrieves the residence if available (P7)
   OPTIONAL { ?personne p:P34 ?archives_statement .  
   OPTIONAL { ?person p:P34 ?archive_statement .  
             ?archives_statement ps:P34 ?fondsArchives ;
             ?archive_statement ps:P34 ?archiveCollection ;
                                 pq:P35 ?noInventaire.}  # Référence aux archives
                                 pq:P35 ?inventoryNo.}  # Reference to the archives
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }  # Récupère les libellés en français
   SERVICE wikibase:label { bd:serviceParam wikibase:language "en,[AUTO_LANGUAGE]". }  # Retrieves the labels in English
}
}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
ORDER BY LCASE(?nom) LCASE(?prenom)  # Trie les résultats par nom de famille, puis par prénom (en ignorant la casse)
ORDER BY LCASE(?surname) LCASE(?firstName)  # Sorts results by surname, then first name (case-insensitive)
LIMIT 100 # Limite les résultats à 100 pour optimiser les performances. Vous pouvez ajuster ou retirer cette limite en fonction de vos besoins.
LIMIT 100 # Limits the results to 100 to optimise performance. You can adjust or remove this limit as needed.
}}
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Enriching_data_on_resistance_members_using_external_sources_[federated_query]"></span>
==== Enriching data on resistance members using external sources [federated query] ====
==== Enrichir les données sur les résistant·e·s à l'aide de sources externes [requête fédérée] ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{SPARQL|query=
{{SPARQL|query=
## This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">

Revision as of 19:01, 15 October 2024


Exemples de requêtes SPARQL

Cette page liste des exemples de requêtes SPARQL permettant d'interroger en profondeur les données de Resistance in Belgium voir aussi cette page d'exemples. Chaque requête peut être lancée en cliquant sur le lien "Essayez !" qui ouvre une interface de requête dédiée.

Note: Due to limited resources, the queries have been automatically translated into English, Dutch, and German. While there may be minor inaccuracies, we prioritised making these examples available in multiple languages to ensure broad access to the data for all users.


Recherche par nom de famille

{{SPARQL|query=

  1. This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
  1. Cette requête récupère la liste des personnes présentes dans la base de données et portant un certain nom de famille.
  1. title: Résistant⸱e⸱s ayant un certain nom de famille (ici : Barbieux)

SELECT ?personne ?personneLabel ?dateNaissance WHERE {

 ?personne  wdt:P1  wd:Q2 .                  # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
 ?personne  wdt:P3  "Barbieux" .             # Filtre pour ne prendre que des personnes dont le nom de famille (P3) est "Barbieux" (modifiez "Barbieux" selon le besoin)
 ?personne  wdt:P67 ?dateNaissance  .        # Ajoute la date de naissance (P67)
          
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère le libellé en français

}

ORDER BY ?personneLabel # Trie les résultats par ordre alphabétique des labels


Rechercher les membres d'une organisation de résistance

{{SPARQL|query=

  1. This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
  1. Cette requête récupère la liste des personnes présentes dans la base de données
  2. et dont on sait qu'elles appartenaient à une certaine organisation de résistance (ici : Tempo)
  1. title: Résistant⸱e⸱s membres d'une organisation de résistance (ici : Tempo)

SELECT ?personne ?nom ?prenom ?dateNaissance WHERE {

 ?personne  wdt:P1  wd:Q2 .                  # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
 ?personne wdt:P52 wd:Q4367 .                # Filtre par appartenance à une organisation ("membre de", P52), ici "Tempo" (Q4367) (remplacez Q4367 par l'organisation de votre choix en utilisant l'auto-complétion (Control + espace))
 ?personne  wdt:P67 ?dateNaissance  .        # Ajoute la date de naissance (P67)
 ?personne  wdt:P3 ?nom .                    # Récupère le nom de famille (P3)
 ?personne  wdt:P2 ?prenom .                 # Récupère le prénom (P2)
         
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère le libellé en français

}

ORDER BY LCASE(?nom) LCASE(?prenom) # Trie les résultats par nom de famille, puis par prénom (en ignorant la casse)

Recherche par domicile

<div lang="en" dir="ltr" class="mw-content-ltr">
# This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
</div>

# Cette requête récupère la liste des personnes présentes dans la base de données 
# et domiciliées dans une certaine commune pendant/au lendemain de la Seconde Guerre mondiale

#title: Résistant⸱e⸱s filtrés selon leur domicile (ici : Anderlecht)

SELECT ?personne ?nom ?prenom ?dateNaissance
WHERE {
  ?personne  wdt:P1  wd:Q2 .                  # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
  ?personne  wdt:P7  wd:Q102 .                # Filtre par domicile (P7), ici Anderlecht (Q102) (remplacez Q102 par la (section de) commune de votre choix en utilisant l'auto-complétion (Control + espace))
  ?personne  wdt:P67 ?dateNaissance  .        # Ajoute la date de naissance (P67)
  ?personne  wdt:P3 ?nom .                    # Récupère le nom de famille (P3)
  ?personne  wdt:P2 ?prenom .                 # Récupère le prénom (P2)
         
 SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère le libellé en français
}

ORDER BY LCASE(?nom) LCASE(?prenom)  # Trie les résultats par nom de famille, puis par prénom (en ignorant la casse)

Essayez !

Recherche par profession

<div lang="en" dir="ltr" class="mw-content-ltr">
# This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
</div>

# Cette requête récupère la liste des personnes présentes dans la base de données ayant une certaine profession (ici : coiffeur / kapper).

#title: Résistant⸱e⸱s ayant une certaine profession (ici : coiffeur / kapper)

SELECT ?personne ?nom ?prenom ?domicileLabel ?professionLabel
WHERE {
  ?personne  wdt:P1  wd:Q2 .               # Sélectionne toutes les personnes (P1) avec l'identifiant "Personne" (Q2)
  ?personne  wdt:P13 ?profession .         # Sélectionne leur profession (P13)
  ?personne  wdt:P3 ?nom .                    # Récupère le nom de famille (P3)
  ?personne  wdt:P2 ?prenom .                 # Récupère le prénom (P2)
  
  FILTER (CONTAINS(str(?profession), 'coiffeu')

Essayez !


Nombre de membres des organisations de résistance

{{SPARQL|query=

  1. Cette requête récupère le nombre de membres par organisation de résistance et affiche les résultats sous forme de graphique à bulles
  2. Vous pouvez cliquer sur chaque bulle ou nom d'organisation pour accéder à plus de détails sur l'organisation dans la base de données.
  1. title: Count of members per resistance organisation
  1. defaultView:BubbleChart # Display as bubbles

SELECT ?organisation ?organisationLabel (COUNT(?person) AS ?numberOfMembers) WHERE {

 ?person wdt:P1 wd:Q2 .              # Selects all elements that are (P1) persons (Q2)
 ?person wdt:P52 ?organisation .     # Filters by membership in an organisation ("member of", P52)
   FILTER EXISTS { 
  ?organisation wdt:P1/wdt:P9* wd:Q4  # Vérifie si l'organisation est (P1) / est une sous-classe (P9) d'une organisation de résistance (Q4)
  }
  # Pour filtrer et afficher uniquement les réseaux/missions de résistance, remplacez Q4 par Q38.
  # Pour filtrer et afficher uniquement les mouvements de résistance armée, remplacez Q4 par Q37.


   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }  # Récupère les libellés en français

} GROUP BY ?organisation ?organisationLabel ORDER BY DESC(?nombreMembres)

Lieux de décès pendant la guerre

<div lang="en" dir="ltr" class="mw-content-ltr">
# This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
</div>

# Cette requête récupère les lieux de décès des résistant⸱e⸱s jusqu'à la fin de l'année 1945 
# et les affiche sur une carte avec leur nom et, si disponible, les dates de décès.

# Astuce : Vous pouvez cliquer sur les points sur la carte pour afficher les noms des personnes décédées.
# Note : les lieux à l'étranger ont été "modernisés" pour correspondre aux données actuelles de la base Geonames.

#title: Lieux et dates de décès pendant la guerre

#defaultView:Map{"hide":"?GPS"}  # Affichage sous forme de carte, masquer les coordonnées GPS

SELECT ?personne ?personneLabel ?lieuDeces ?lieuDecesLabel ?GPS ?dateDeces
WHERE {
  ?personne wdt:P1 wd:Q2 .                      # Sélectionne toutes les personnes (P1 = Q2)
  ?personne wdt:P48 ?lieuDeces .                # Récupère les lieux de décès (P48)
  ?lieuDeces wdt:P6 ?GPS .                      # Récupère les coordonnées GPS des lieux de décès (P6)
  OPTIONAL { ?personne wdt:P68 ?dateDeces .     # Récupère la date de décès, si disponible
             FILTER(?dateDeces <= "1945-12-31"^^xsd:dateTime)  # Filtre les décès : jusqu'à fin 1945
  }
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère les libellés en français
}

ORDER BY ?lieuDecesLabel

Essayez !


Liste des femmes ayant été en détention

{{SPARQL|query=

  1. title: Résistantes placées en détention

SELECT DISTINCT ?personne ?nom ?prenom ?debut_detention ?fin_detention ?professionLabel ?statutReconnaissanceLabel WHERE {

  ?personne wdt:P1 wd:Q2 .                   # Sélectionne les personnes (P1 = Q2)
 ?personne wdt:P4 wd:Q6 .                   # Filtre pour sélectionner les femmes (P4 = féminin Q6)
 
 ?personne p:P53 ?detention_statement .     # Recherche les personnes ayant été en détention (P53)
 ?detention_statement ps:P53 ?detention .
          
 OPTIONAL { ?detention_statement pq:P23 ?debut_detention. FILTER (datatype(?debut_detention) = xsd:edtf ) } # Récupère la date de début de détention si disponible (P23)
 OPTIONAL { ?detention_statement pq:P25 ?fin_detention. FILTER (datatype(?fin_detention) = xsd:edtf ) }     # Récupère la date de fin de détention si disponible (P25)
  OPTIONAL { ?personne wdt:P13 ?profession. }           # Récupère la profession si disponible (P13)
 OPTIONAL { ?personne wdt:P55 ?statutReconnaissance. } # Récupère l'éventuel statut de reconnaissance nationale obtenu (P55)
   ?personne  wdt:P3 ?nom .                    # Récupère le nom de famille (P3)
 ?personne  wdt:P2 ?prenom .                 # Récupère le prénom (P2)
 
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }  # Récupère les libellés en français

}

ORDER BY LCASE(?nom) LCASE(?prenom) # Trie en ignorant la casse


Recognised ARA/FFC Members or Letter of Appreciation Recipients

{{SPARQL|query=

  1. This query has been automatically translated for pragmatic reasons and due to limited resources. Please be aware that some terms may not be fully accurate.
  1. Cette requête récupère la liste des résistants reconnus agents de renseignements et d'action (ARA)
  2. ou ayant reçu une lettre de remerciements (LR) ou un statut FFC (Forces Françaises Combattantes), avec leur domicile et dossier d'archives lié.
  1. title: Résistants ARA (reconnus ou lettre de remerciements) ou FFC

SELECT DISTINCT ?personne ?nom ?prenom ?domicile ?domicileLabel ?statutObtenuLabel ?LR ?fondsArchivesLabel ?noInventaire WHERE {

   ?personne wdt:P1 wd:Q2 .                    # Sélectionne les personnes (P1 = Q2)
 ?personne  wdt:P3 ?nom .                    # Récupère le nom de famille (P3)
 ?personne  wdt:P2 ?prenom .                 # Récupère le prénom (P2)
  { ?personne wdt:P55 ?statutObtenu. 
   FILTER(?statutObtenu IN (wd:Q17, wd:Q4487)) }  # Filtre pour les statuts de reconnaissance ARA (Q17) ou FFC (Q4487)
 UNION                                            # OU
 { ?personne p:P54 ?statement.
   ?statement ps:P54 wd:Q17; pq:P56 wd:Q6665.     # Les personnes ayant reçu une lettre de remerciement (Q6665)
   BIND("lettre de remerciements ARA" AS ?LR)}
   OPTIONAL { ?personne wdt:P7 ?domicile. }         # Récupère le domicile si disponible (P7)
 OPTIONAL { ?personne p:P34 ?archives_statement . 
            ?archives_statement ps:P34 ?fondsArchives ;
                               pq:P35 ?noInventaire.}  # Référence aux archives
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }  # Récupère les libellés en français

}

ORDER BY LCASE(?nom) LCASE(?prenom) # Trie les résultats par nom de famille, puis par prénom (en ignorant la casse) LIMIT 100 # Limite les résultats à 100 pour optimiser les performances. Vous pouvez ajuster ou retirer cette limite en fonction de vos besoins.


Enrichir les données sur les résistant·e·s à l'aide de sources externes [requête fédérée]

<div lang="en" dir="ltr" class="mw-content-ltr">
# This query retrieves additional information about the resistance fighters in the database, thanks to Wikidata, including Wikipedia articles and external archives (ODIS, Biographie Nationale, VIAF, SNAC, etc.).
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Enrichment of resistance fighter data via Wikidata
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
PREFIX wd_wikidata: <http://www.wikidata.org/entity/>  # Prefix for Wikidata
PREFIX wdt_wikidata: <http://www.wikidata.org/prop/direct/>  # Prefix for Wikidata direct properties
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT DISTINCT ?person ?surname ?firstName ?wikidata_ID ?article_en ?odisURL ?bioNationaleURL ?JusteURL ?maitronURL ?viafURL ?snacURL 
(GROUP_CONCAT(DISTINCT ?archivesLabel; SEPARATOR = ", ") AS ?archives)  # Concatenation of found archives
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
WHERE {
  ?person wdt:P1 wd:Q2 .                  # Selects all persons (P1 = Q2)
  ?person  wdt:P3 ?surname .              # Retrieves the surname (P3)
  ?person  wdt:P2 ?firstName .            # Retrieves the first name (P2)
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
?person wdt:P15 ?wikidataIdentifier .   # Retrieves the Wikidata identifier (P15)
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
# Generates a link to the corresponding Wikidata entity
  BIND(URI(CONCAT("http://www.wikidata.org/entity/", ?wikidataIdentifier)) AS ?wikidata_ID)
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
# Federated query to retrieve additional information from Wikidata
  SERVICE <https://query.wikidata.org/sparql> {
    
    # Retrieves and generates the URLs of external identifiers
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P2372 ?odisID.  # Retrieves the ODIS ID
      BIND(URI(CONCAT("https://www.odis.be/lnk/", STR(?odisID))) AS ?odisURL)  # Generates the ODIS URL
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P6234 ?bioNationaleID.  # Biographie Nationale of Belgium ID
      BIND(URI(CONCAT("https://academieroyale.be/fr/la-biographie-nationale-personnalites-detail/personnalites/", STR(?bioNationaleID), "/Vrai/")) AS ?bioNationaleURL)  # Generates the Biographie Nationale URL
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P214 ?viafID.  # VIAF ID
      BIND(URI(CONCAT("https://viaf.org/viaf/", STR(?viafID))) AS ?viafURL)  # Generates the VIAF URL
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P3430 ?snacID.  # SNAC ID
      BIND(URI(CONCAT("https://snaccooperative.org/ark:/99166/", STR(?snacID))) AS ?snacURL)  # Generates the SNAC URL
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P4724 ?maitronID.  # Maitron ID
      BIND(URI(CONCAT("https://maitron.fr/spip.php?article", STR(?maitronID))) AS ?maitronURL)  # Generates the Maitron URL
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P1979 ?JusteID.  # Righteous Among the Nations ID
      BIND(URI(CONCAT("https://collections.yadvashem.org/en/righteous/", STR(?JusteID))) AS ?JusteURL)  # Generates the Righteous Among the Nations URL
    }
    
    # Retrieves the English Wikipedia article
    OPTIONAL {
      ?article_en schema:about ?wikidata_ID ;
                  schema:inLanguage "en" ;
                  schema:isPartOf <https://en.wikipedia.org/> .  # English Wikipedia article
    }
    
    # Retrieves archives linked to the person
    OPTIONAL {
      ?wikidata_ID wdt_wikidata:P485 ?archives.  # Retrieves archives (P485)
      ?archives rdfs:label ?archivesLabel.  # Retrieves archive labels
      FILTER(LANG(?archivesLabel) = "en")  # Filters for labels in English
    }
  }
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
# Retrieves labels of persons in the defined language
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
GROUP BY ?person ?surname ?firstName ?wikidata_ID ?article_en ?odisURL ?JusteURL ?bioNationaleURL ?maitronURL ?viafURL ?snacURL
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
ORDER BY LCASE(?surname) LCASE(?firstName)  # Sorts results by surname, then first name (case-insensitive)

Essayez !