Project:SPARQL/examples/fr: Difference between revisions

From Resistance in Belgium
(Created page with "{{SPARQL|query=")
 
(Created page with "#")
 
(12 intermediate revisions by 2 users not shown)
Line 4: Line 4:
== Exemples de requêtes SPARQL ==
== 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'' [https://data.arch.be/wiki/Special:MyLanguage/In-depth_search 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.
Cette page liste des exemples de requêtes SPARQL permettant d'interroger en profondeur les données de ''Resistance in Belgium'' ([https://data.arch.be/wiki/Special:MyLanguage/In-depth_search 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.


<div lang="en" dir="ltr" class="mw-content-ltr">
#
'''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.
</div>




Line 16: Line 14:
{{SPARQL|query=
{{SPARQL|query=


<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 portant un certain nom de famille.
# 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.
Line 34: Line 30:


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




Line 42: Line 39:
{{SPARQL|query=
{{SPARQL|query=


<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>


<div lang="en" dir="ltr" class="mw-content-ltr">
# Cette requête récupère la liste des personnes présentes dans la base de données
# This query retrieves the list of people present in the database
# et dont on sait qu'elles appartenaient à une certaine organisation de résistance (ici : Tempo)
# and known to be members of a certain resistance organisation (here: Tempo)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Résistant⸱e⸱s membres d'une organisation de résistance (ici : Tempo)
#title: Resistance fighters who are members of a resistance organisation (here: Tempo)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT  ?personne ?nom ?prenom ?dateNaissance
SELECT  ?person ?surname ?firstName ?birthDate
WHERE {
WHERE {
   ?person wdt:P1  wd:Q2 .                   # Selects all elements that are (P1) persons (Q2)
   ?personne wdt:P1  wd:Q2 .                 # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
   ?person wdt:P52 wd:Q4367 .                 # Filters by membership in an organisation ("member of", P52), here "Tempo" (Q4367) (replace Q4367 with the organisation of your choice using autocomplete (Control + space))
   ?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))
   ?person wdt:P67 ?birthDate .             # Adds the birth date (P67)
   ?personne wdt:P67 ?dateNaissance .       # Ajoute la date de naissance (P67)
   ?person wdt:P3 ?surname .                 # Retrieves the surname (P3)
   ?personne wdt:P3 ?nom .                   # Récupère le nom de famille (P3)
   ?person wdt:P2 ?firstName .               # Retrieves the first name (P2)
   ?personne wdt:P2 ?prenom .                 # Récupère le prénom (P2)
            
            
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,[AUTO_LANGUAGE]". }  # Retrieves the label in English
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère le libellé en français
}
}
</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)
}}
}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Search_by_place_of_residence"></span>
==== Search by place of residence ====
==== Recherche par domicile ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{SPARQL|query=
{{SPARQL|query=
</div>


<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>


<div lang="en" dir="ltr" class="mw-content-ltr">
# Cette requête récupère la liste des personnes présentes dans la base de données
# This query retrieves the list of people present in the database
# et domiciliées dans une certaine commune pendant/au lendemain de la Seconde Guerre mondiale
# and residing in a certain municipality during/after World War II
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Résistant⸱e⸱s filtrés selon leur domicile (ici : Anderlecht)
#title: Resistance fighters filtered by their residence (here: Anderlecht)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT ?personne ?nom ?prenom ?dateNaissance
SELECT ?person ?surname ?firstName ?birthDate
WHERE {
WHERE {
   ?person wdt:P1  wd:Q2 .                   # Selects all elements that are (P1) persons (Q2)
   ?personne wdt:P1  wd:Q2 .                 # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
   ?person wdt:P7  wd:Q102 .                 # Filters by residence (P7), here Anderlecht (Q102) (replace Q102 with the (section of) municipality of your choice using autocomplete (Control + space))
   ?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))
   ?person wdt:P67 ?birthDate .             # Adds the birth date (P67)
   ?personne wdt:P67 ?dateNaissance .       # Ajoute la date de naissance (P67)
   ?person wdt:P3 ?surname .                 # Retrieves the surname (P3)
   ?personne wdt:P3 ?nom .                   # Récupère le nom de famille (P3)
   ?person wdt:P2 ?firstName .               # Retrieves the first name (P2)
   ?personne wdt:P2 ?prenom .                 # Récupère le prénom (P2)
          
          
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,[AUTO_LANGUAGE]". }  # Retrieves the label in English
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère le libellé en français
}
}
</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)
</div>


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


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Search_by_profession"></span>
==== Search by profession ====
==== Recherche par profession ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{SPARQL|query=
{{SPARQL|query=
</div>


<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>


<div lang="en" dir="ltr" class="mw-content-ltr">
# 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).
# This query retrieves the list of people present in the database who have a certain profession (here: hairdresser / kapper).
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Résistant⸱e⸱s ayant une certaine profession (ici : coiffeur / kapper)
#title: Resistance fighters with a certain profession (here: hairdresser / kapper)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT ?personne ?nom ?prenom ?domicileLabel ?professionLabel
SELECT ?person ?surname ?firstName ?residenceLabel ?professionLabel
WHERE {
WHERE {
   ?person wdt:P1  wd:Q2 .              # Selects all people (P1) with the identifier "Person" (Q2)
   ?personne wdt:P1  wd:Q2 .              # Sélectionne toutes les personnes (P1) avec l'identifiant "Personne" (Q2)
   ?person wdt:P13 ?profession .        # Selects their profession (P13)
   ?personne wdt:P13 ?profession .        # Sélectionne leur profession (P13)
   ?person wdt:P3 ?surname .             # Retrieves the surname (P3)
   ?personne wdt:P3 ?nom .                   # Récupère le nom de famille (P3)
   ?person wdt:P2 ?firstName .           # Retrieves the first name (P2)
   ?personne wdt:P2 ?prenom .                 # Récupère le prénom (P2)
    
    
   FILTER (CONTAINS(str(?profession), 'coiffeu') || CONTAINS(str(?profession), 'kapper')). # Filters to select all people whose profession
   FILTER (CONTAINS(str(?profession), 'coiffeu') || CONTAINS(str(?profession), 'kapper')). # Filtre pour sélectionner toutes les personnes dont la profession
                                                                                           # contains 'coiffeu' (hairdresser in French) or 'kapper' (in Dutch)
                                                                                           # contient 'coiffeu' (coiffeur-coiffeuse en français) ou 'kapper' (en néerlandais)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
  #FILTER (CONTAINS(str(?profession), 'coiffeu')). # Si vous souhaitez utiliser un seul terme de recherche : enlever le '#' en début de la ligne et supprimer la ligne précédente
#FILTER (CONTAINS(str(?profession), 'coiffeu')). # If you want to use only one search term: remove the '#' at the start of the line and delete the previous line
    
    
   OPTIONAL { ?person wdt:P7 ?residence. } # Also adds the residence (P7), if known
   OPTIONAL { ?personne wdt:P7 ?domicile. } # Ajoute également le domicile (P7), s'il est connu
            
            
   SERVICE wikibase:label { bd:serviceParam wikibase:language "en,[AUTO_LANGUAGE]". }  # Retrieves the labels in English
   SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère les libellés en français
}
}
</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 the results by surname, then first name (case-insensitive)
}}
}}
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Number_of_members_of_a_resistance_organisation"></span>
==== Number of members of a resistance organisation ====
==== Nombre de membres des organisations de résistance ====
</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">
# 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
# This query retrieves the number of members per resistance organisation and displays the results as a bubble chart.
# 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.
# You can click on each bubble or organisation name to access more details about the organisation in the database.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Décompte des membres par organisation de résistance
#title: Count of members per resistance organisation
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#defaultView:BubbleChart  # Affichage sous forme de bulles
#defaultView:BubbleChart  # Display as bubbles
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT ?organisation ?organisationLabel (COUNT(?personne) AS ?nombreMembres)
SELECT ?organisation ?organisationLabel (COUNT(?person) AS ?numberOfMembers)
WHERE {
WHERE {
   ?person wdt:P1 wd:Q2 .              # Selects all elements that are (P1) persons (Q2)
   ?personne wdt:P1 wd:Q2 .              # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
   ?person wdt:P52 ?organisation .    # Filters by membership in an organisation ("member of", P52)
   ?personne wdt:P52 ?organisation .    # Filtre par appartenance à une organisation ("membre de", P52)
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
    FILTER EXISTS {  
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)
   ?organisation wdt:P1/wdt:P9* wd:Q4  # Checks if the organisation is (P1) / is a subclass (P9) of a resistance organisation (Q4)
   }
   }
   # To filter and display only resistance networks/missions, replace Q4 with Q38.
   # Pour filtrer et afficher uniquement les réseaux/missions de résistance, remplacez Q4 par Q38.
   # To filter and display only armed resistance movements, replace Q4 with Q37.
   # Pour filtrer et afficher uniquement les mouvements de résistance armée, remplacez Q4 par Q37.
</div>


    
    
  <div lang="en" dir="ltr" class="mw-content-ltr">
    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 "[AUTO_LANGUAGE],en". }  # Retrieves the labels in English
}
}
GROUP BY ?organisation ?organisationLabel
GROUP BY ?organisation ?organisationLabel
ORDER BY DESC(?numberOfMembers)
ORDER BY DESC(?nombreMembres)
}}
}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Places_of_death_during_the_war"></span>
====  Places of death during the war ====
====  Lieux de décès pendant la guerre ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{SPARQL|query=
{{SPARQL|query=
</div>


<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>


<div lang="en" dir="ltr" class="mw-content-ltr">
# 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  
# This query retrieves the places of death of resistance fighters up until the end of 1945  
# et les affiche sur une carte avec leur nom et, si disponible, les dates de décès.
# and displays them on a map with their names and, if available, the dates of death.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
# Astuce : Vous pouvez cliquer sur les points sur la carte pour afficher les noms des personnes décédées.
# Tip: You can click on the points on the map to view the names of the deceased individuals.
# Note : les lieux à l'étranger ont été "modernisés" pour correspondre aux données actuelles de la base Geonames.
# Note: Foreign locations have been "modernised" to match the current data in the Geonames database.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#title: Lieux et dates de décès pendant la guerre
#title: Places and dates of death during the war
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
#defaultView:Map{"hide":"?GPS"}  # Affichage sous forme de carte, masquer les coordonnées GPS
#defaultView:Map{"hide":"?GPS"}  # Display as a map, hide the GPS coordinates
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
SELECT ?personne ?personneLabel ?lieuDeces ?lieuDecesLabel ?GPS ?dateDeces
SELECT ?person ?personLabel ?placeOfDeath ?placeOfDeathLabel ?GPS ?dateOfDeath
WHERE {
WHERE {
   ?person wdt:P1 wd:Q2 .                      # Selects all people (P1 = Q2)
   ?personne wdt:P1 wd:Q2 .                      # Sélectionne toutes les personnes (P1 = Q2)
   ?person wdt:P48 ?placeOfDeath .             # Retrieves the places of death (P48)
   ?personne wdt:P48 ?lieuDeces .               # Récupère les lieux de décès (P48)
   ?placeOfDeath wdt:P6 ?GPS .                 # Retrieves the GPS coordinates of the places of death (P6)
   ?lieuDeces wdt:P6 ?GPS .                     # Récupère les coordonnées GPS des lieux de décès (P6)
   OPTIONAL { ?person wdt:P68 ?dateOfDeath .   # Retrieves the date of death, if available
   OPTIONAL { ?personne wdt:P68 ?dateDeces .     # Récupère la date de décès, si disponible
             FILTER(?dateOfDeath <= "1945-12-31"^^xsd:dateTime)  # Filters deaths: up until the end of 1945
             FILTER(?dateDeces <= "1945-12-31"^^xsd:dateTime)  # Filtre les décès : jusqu'à fin 1945
   }
   }
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "en,[AUTO_LANGUAGE]". }  # Retrieves the labels in English
   SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,[AUTO_LANGUAGE]". }  # Récupère les libellés en français
}
}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
ORDER BY ?lieuDecesLabel
ORDER BY ?placeOfDeathLabel
}}
}}
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="List_the_women_who_have_been_detained"></span>
====  List the women who have been detained ====
====  Liste des femmes ayant été en détention ====
</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">
#title: Résistantes placées en détention
#title: Women resistance fighters who were detained
SELECT DISTINCT ?personne ?nom ?prenom ?debut_detention ?fin_detention ?professionLabel ?statutReconnaissanceLabel
SELECT DISTINCT ?person ?surname ?firstName ?startOfDetention ?endOfDetention ?professionLabel ?recognitionStatusLabel
WHERE {
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:P4 wd:Q6 .                  # Filtre pour sélectionner les femmes (P4 = féminin Q6)
   ?person wdt:P4 wd:Q6 .                  # Filters to select women (P4 = female Q6)
    
    
   ?person p:P53 ?detention_statement .    # Searches for persons who were detained (P53)
   ?personne p:P53 ?detention_statement .    # Recherche les personnes ayant été en détention (P53)
   ?detention_statement ps:P53 ?detention .
   ?detention_statement ps:P53 ?detention .
            
            
   OPTIONAL { ?detention_statement pq:P23 ?startOfDetention. FILTER (datatype(?startOfDetention) = xsd:edtf ) } # Retrieves the start of detention date if available (P23)
   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 ?endOfDetention. FILTER (datatype(?endOfDetention) = xsd:edtf ) }    # Retrieves the end of detention date if available (P25)
   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)
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
  OPTIONAL { ?personne wdt:P13 ?profession. }          # Récupère la profession si disponible (P13)
OPTIONAL { ?person wdt:P13 ?profession. }          # Retrieves the profession if available (P13)
   OPTIONAL { ?personne wdt:P55 ?statutReconnaissance. } # Récupère l'éventuel statut de reconnaissance nationale obtenu (P55)
   OPTIONAL { ?person wdt:P55 ?recognitionStatus. }   # Retrieves the national recognition status if obtained (P55)
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
    ?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)
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }  # Retrieves the labels in English
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }  # Récupère les libellés en français
</div>


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


<div lang="en" dir="ltr" class="mw-content-ltr">
ORDER BY LCASE(?nom) LCASE(?prenom)  # Trie en ignorant la casse
ORDER BY LCASE(?surname) LCASE(?firstName)  # Sorts case-insensitively
}}
}}
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Recognised_ARA/FFC_Members_or_Letter_of_Appreciation_Recipients"></span>
====  Recognised ARA/FFC Members or Letter of Appreciation Recipients ====
====  Résistant·e·s reconnu·e·s ARA/FFC, ou ayant reçu une lettre de remerciements ====
</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">
# 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">
# Cette requête récupère des informations supplémentaires sur les résistants de la base de données, grâce à Wikidata, incluant les articles Wikipedia, ainsi que les archives externes (ODIS, Biographie Nationale, VIAF, SNAC, etc.)
# 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: Enrichissement des données sur les résistant·e·s via Wikidata
#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/>  # Préfixe pour Wikidata
PREFIX wd_wikidata: <http://www.wikidata.org/entity/>  # Prefix for Wikidata
PREFIX wdt_wikidata: <http://www.wikidata.org/prop/direct/>  # Préfixe pour les propriétés directes de 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 ?personne ?nom ?prenom ?wikidata_ID ?article_fr ?odisURL ?bioNationaleURL ?JusteURL ?maitronURL ?viafURL ?snacURL  
SELECT DISTINCT ?person ?surname ?firstName ?wikidata_ID ?article_en ?odisURL ?bioNationaleURL ?JusteURL ?maitronURL ?viafURL ?snacURL  
(GROUP_CONCAT(DISTINCT ?archivesLabel; SEPARATOR = ", ") AS ?archives)  # Concaténation des archives trouvées
(GROUP_CONCAT(DISTINCT ?archivesLabel; SEPARATOR = ", ") AS ?archives)  # Concatenation of found archives
</div>


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


   <div lang="en" dir="ltr" class="mw-content-ltr">
   ?personne wdt:P15 ?identifiantWikidata . # Récupère l'identifiant Wikidata (P15)
?person wdt:P15 ?wikidataIdentifier .   # Retrieves the Wikidata identifier (P15)
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
  # Génère un lien vers l'élément Wikidata correspondant
# Generates a link to the corresponding Wikidata entity
   BIND(URI(CONCAT("http://www.wikidata.org/entity/", ?identifiantWikidata)) AS ?wikidata_ID)
   BIND(URI(CONCAT("http://www.wikidata.org/entity/", ?wikidataIdentifier)) AS ?wikidata_ID)
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
    # Requête fédérée pour récupérer les informations supplémentaires depuis Wikidata
# Federated query to retrieve additional information from Wikidata
   SERVICE <https://query.wikidata.org/sparql> {
   SERVICE <https://query.wikidata.org/sparql> {
      
      
     # Retrieves and generates the URLs of external identifiers
     # Récupère et génère les URL des identifiants externes
     OPTIONAL {  
     OPTIONAL {  
       ?wikidata_ID wdt_wikidata:P2372 ?odisID.  # Retrieves the ODIS ID
       ?wikidata_ID wdt_wikidata:P2372 ?odisID.  # Récupère l'ODIS ID
       BIND(URI(CONCAT("https://www.odis.be/lnk/", STR(?odisID))) AS ?odisURL)  # Generates the ODIS URL
       BIND(URI(CONCAT("https://www.odis.be/lnk/", STR(?odisID))) AS ?odisURL)  # Génère l'URL ODIS
     }
     }
     OPTIONAL {  
     OPTIONAL {  
       ?wikidata_ID wdt_wikidata:P6234 ?bioNationaleID.  # Biographie Nationale of Belgium ID
       ?wikidata_ID wdt_wikidata:P6234 ?bioNationaleID.  # Biographie nationale de Belgique ID
       BIND(URI(CONCAT("https://academieroyale.be/fr/la-biographie-nationale-personnalites-detail/personnalites/", STR(?bioNationaleID), "/Vrai/")) AS ?bioNationaleURL)  # Generates the Biographie Nationale URL
       BIND(URI(CONCAT("https://academieroyale.be/fr/la-biographie-nationale-personnalites-detail/personnalites/", STR(?bioNationaleID), "/Vrai/")) AS ?bioNationaleURL)  # Génère l'URL de la Biographie nationale
     }
     }
     OPTIONAL {  
     OPTIONAL {  
       ?wikidata_ID wdt_wikidata:P214 ?viafID.  # VIAF ID
       ?wikidata_ID wdt_wikidata:P214 ?viafID.  # VIAF ID
       BIND(URI(CONCAT("https://viaf.org/viaf/", STR(?viafID))) AS ?viafURL)  # Generates the VIAF URL
       BIND(URI(CONCAT("https://viaf.org/viaf/", STR(?viafID))) AS ?viafURL)  # Génère l'URL VIAF
     }
     }
     OPTIONAL {  
     OPTIONAL {  
       ?wikidata_ID wdt_wikidata:P3430 ?snacID.  # SNAC ID
       ?wikidata_ID wdt_wikidata:P3430 ?snacID.  # SNAC ID
       BIND(URI(CONCAT("https://snaccooperative.org/ark:/99166/", STR(?snacID))) AS ?snacURL)  # Generates the SNAC URL
       BIND(URI(CONCAT("https://snaccooperative.org/ark:/99166/", STR(?snacID))) AS ?snacURL)  # Génère l'URL SNAC
     }
     }
     OPTIONAL {  
     OPTIONAL {  
       ?wikidata_ID wdt_wikidata:P4724 ?maitronID.  # Maitron ID
       ?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
       BIND(URI(CONCAT("https://maitron.fr/spip.php?article", STR(?maitronID))) AS ?maitronURL)  # Génère l'URL Maitron
     }
     }
     OPTIONAL {  
     OPTIONAL {  
       ?wikidata_ID wdt_wikidata:P1979 ?JusteID.  # Righteous Among the Nations ID
       ?wikidata_ID wdt_wikidata:P1979 ?JusteID.  # Juste parmi les Nations ID
       BIND(URI(CONCAT("https://collections.yadvashem.org/en/righteous/", STR(?JusteID))) AS ?JusteURL)  # Generates the Righteous Among the Nations URL
       BIND(URI(CONCAT("https://collections.yadvashem.org/en/righteous/", STR(?JusteID))) AS ?JusteURL)  # Génère l'URL Juste parmi les Nations
     }
     }
      
      
     # Retrieves the English Wikipedia article
     # Récupère l'article Wikipedia en français
     OPTIONAL {
     OPTIONAL {
       ?article_en schema:about ?wikidata_ID ;
       ?article_fr schema:about ?wikidata_ID ;
                   schema:inLanguage "en" ;
                   schema:inLanguage "fr" ;
                   schema:isPartOf <https://en.wikipedia.org/> .  # English Wikipedia article
                   schema:isPartOf <https://fr.wikipedia.org/> .  # Article Wikipedia en français
     }
     }
      
      
     # Retrieves archives linked to the person
     # Récupère les archives liées à la personne
     OPTIONAL {
     OPTIONAL {
       ?wikidata_ID wdt_wikidata:P485 ?archives.  # Retrieves archives (P485)
       ?wikidata_ID wdt_wikidata:P485 ?archives.  # Récupère les archives (P485)
       ?archives rdfs:label ?archivesLabel.  # Retrieves archive labels
       ?archives rdfs:label ?archivesLabel.  # Récupère les libellés des archives
       FILTER(LANG(?archivesLabel) = "en")  # Filters for labels in English
       FILTER(LANG(?archivesLabel) = "fr")  # Filtre pour les libellés en français
     }
     }
   }
   }
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
    # Récupère les libellés des personnes dans la langue définie
# Retrieves labels of persons in the defined language
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
GROUP BY ?personne ?nom ?prenom ?wikidata_ID ?article_fr ?odisURL ?JusteURL ?bioNationaleURL ?maitronURL ?viafURL ?snacURL
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(?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)
}}
}}
</div>

Latest revision as of 11:03, 17 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.


Recherche par nom de famille

#

# 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.

#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

Essayez !


Rechercher les membres d'une organisation de résistance

#

# Cette requête récupère la liste des personnes présentes dans la base de données 
# et dont on sait qu'elles appartenaient à une certaine organisation de résistance (ici : Tempo)

#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)

Essayez !

Recherche par domicile

#

# 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

#

# 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

# 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
# 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.

#title: Décompte des membres par organisation de résistance

#defaultView:BubbleChart  # Affichage sous forme de bulles

SELECT ?organisation ?organisationLabel (COUNT(?personne) AS ?nombreMembres)
WHERE {
  ?personne wdt:P1 wd:Q2 .              # Sélectionne tous les éléments qui sont (P1) des personnes (Q2)
  ?personne wdt:P52 ?organisation .     # Filtre par appartenance à une organisation ("membre de", 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)

Essayez !

Lieux de décès pendant la guerre

#

# 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

#

#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

Essayez !


Résistant·e·s reconnu·e·s ARA/FFC, ou ayant reçu une lettre de remerciements

#

# Cette requête récupère la liste des résistants reconnus agents de renseignements et d'action (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é.

#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.

Essayez !


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

#

# Cette requête récupère des informations supplémentaires sur les résistants de la base de données, grâce à Wikidata, incluant les articles Wikipedia, ainsi que les archives externes (ODIS, Biographie Nationale, VIAF, SNAC, etc.)

#title: Enrichissement des données sur les résistant·e·s via Wikidata

PREFIX wd_wikidata: <http://www.wikidata.org/entity/>  # Préfixe pour Wikidata
PREFIX wdt_wikidata: <http://www.wikidata.org/prop/direct/>  # Préfixe pour les propriétés directes de Wikidata

SELECT DISTINCT ?personne ?nom ?prenom ?wikidata_ID ?article_fr ?odisURL ?bioNationaleURL ?JusteURL ?maitronURL ?viafURL ?snacURL 
(GROUP_CONCAT(DISTINCT ?archivesLabel; SEPARATOR = ", ") AS ?archives)  # Concaténation des archives trouvées

WHERE {
  ?personne wdt:P1 wd:Q2 .                  # Sélectionne toutes 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:P15 ?identifiantWikidata .  # Récupère l'identifiant Wikidata (P15)

   # Génère un lien vers l'élément Wikidata correspondant
  BIND(URI(CONCAT("http://www.wikidata.org/entity/", ?identifiantWikidata)) AS ?wikidata_ID)

    # Requête fédérée pour récupérer les informations supplémentaires depuis Wikidata
  SERVICE <https://query.wikidata.org/sparql> {
    
    # Récupère et génère les URL des identifiants externes
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P2372 ?odisID.  # Récupère l'ODIS ID
      BIND(URI(CONCAT("https://www.odis.be/lnk/", STR(?odisID))) AS ?odisURL)  # Génère l'URL ODIS
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P6234 ?bioNationaleID.  # Biographie nationale de Belgique ID
      BIND(URI(CONCAT("https://academieroyale.be/fr/la-biographie-nationale-personnalites-detail/personnalites/", STR(?bioNationaleID), "/Vrai/")) AS ?bioNationaleURL)  # Génère l'URL de la Biographie nationale
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P214 ?viafID.  # VIAF ID
      BIND(URI(CONCAT("https://viaf.org/viaf/", STR(?viafID))) AS ?viafURL)  # Génère l'URL VIAF
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P3430 ?snacID.  # SNAC ID
      BIND(URI(CONCAT("https://snaccooperative.org/ark:/99166/", STR(?snacID))) AS ?snacURL)  # Génère l'URL SNAC
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P4724 ?maitronID.  # Maitron ID
      BIND(URI(CONCAT("https://maitron.fr/spip.php?article", STR(?maitronID))) AS ?maitronURL)  # Génère l'URL Maitron
    }
    OPTIONAL { 
      ?wikidata_ID wdt_wikidata:P1979 ?JusteID.  # Juste parmi les Nations ID
      BIND(URI(CONCAT("https://collections.yadvashem.org/en/righteous/", STR(?JusteID))) AS ?JusteURL)  # Génère l'URL Juste parmi les Nations
    }
    
    # Récupère l'article Wikipedia en français
    OPTIONAL {
      ?article_fr schema:about ?wikidata_ID ;
                  schema:inLanguage "fr" ;
                  schema:isPartOf <https://fr.wikipedia.org/> .  # Article Wikipedia en français
    }
    
    # Récupère les archives liées à la personne
    OPTIONAL {
      ?wikidata_ID wdt_wikidata:P485 ?archives.  # Récupère les archives (P485)
      ?archives rdfs:label ?archivesLabel.  # Récupère les libellés des archives
      FILTER(LANG(?archivesLabel) = "fr")  # Filtre pour les libellés en français
    }
  }

    # Récupère les libellés des personnes dans la langue définie
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". }
}

GROUP BY ?personne ?nom ?prenom ?wikidata_ID ?article_fr ?odisURL ?JusteURL ?bioNationaleURL ?maitronURL ?viafURL ?snacURL

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

Essayez !