Project:SPARQL/examples/nl

    From Resistance in Belgium
    Revision as of 14:13, 16 October 2024 by A Lyapounov (talk | contribs) (Created page with " ?persoon wdt:P1 wd:Q2 . # Selecteert personen (P1 = Q2) ?persoon wdt:P4 wd:Q6 . # Filtert om vrouwen te selecteren (P4 = vrouw Q6) ?persoon p:P53 ?detentie_statement . # Zoekt naar personen die gevangen werden genomen (P53) ?detentie_statement ps:P53 ?detentie . OPTIONAL { ?detentie_statement pq:P23 ?beginVanDetentie. FILTER (datatype(?beginVanDetentie) = xsd:edtf ) } # Haalt de begindatum van de detentie...")


    SPARQL zoekopdracht voorbeelden

    Deze pagina bevat voorbeelden van SPARQL zoekopdrachten die het mogelijk maken om diepgaand de gegevens van Weerstand in België te doorzoeken (zie ook deze voorbeeldpagina). Elke query kan worden uitgevoerd door te klikken op de link "Try it!", die een speciale query-interface opent.

    Opmerking: Om praktische redenen zijn de query's automatisch vertaald in het Engels, Nederlands en Duits. Hoewel er kleine onnauwkeurigheden kunnen zijn, hebben we prioriteit gegeven aan het beschikbaar maken van deze voorbeelden in meerdere talen om brede toegang tot de gegevens voor alle gebruikers te waarborgen.


    > Verzetsmensen opzoeken op familienaam

    # Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    
    # Deze query haalt de lijst op van personen in de database met een bepaalde achternaam.
    
    #title: Verzetsstrijders met een bepaalde achternaam (hier: Barbieux)
    
    SELECT ?persoon ?persoonLabel ?geboorteDatum
    WHERE {
      ?persoon  wdt:P1  wd:Q2 .                    # Selecteert alle elementen die (P1) personen (Q2) zijn
      ?persoon  wdt:P3  "Barbieux" .               # Filtert om alleen personen te nemen waarvan de achternaam (P3) "Barbieux" is (pas "Barbieux" aan indien nodig)
      ?persoon  wdt:P67 ?geboorteDatum  .          # Voegt de geboortedatum toe (P67)
               
     SERVICE wikibase:label { bd:serviceParam wikibase:language "nl [AUTO_LANGUAGE]". } # Haalt het label in het Nederlands op
    }
    
    ORDER BY ?persoonLabel  # Sorteert de resultaten alfabetisch op label
    

    Probeer het!


    > Zoeken op de leden van een bepaalde verzetsbeweging

    # Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    
    # Deze query haalt de lijst op van personen in de database 
    # waarvan bekend is dat ze lid waren van een bepaalde verzetsorganisatie (hier: Tempo)
    
    #title: Verzetsstrijders die lid zijn van een verzetsorganisatie (hier: Tempo)
    
    SELECT  ?persoon ?achternaam ?voornaam ?geboorteDatum
    WHERE {
      ?persoon  wdt:P1  wd:Q2 .                   # Selecteert alle elementen die (P1) personen (Q2) zijn
      ?persoon wdt:P52 wd:Q4367 .                 # Filtert op lidmaatschap van een organisatie ("lid van", P52), hier "Tempo" (Q4367) (vervang Q4367 door de organisatie van uw keuze met behulp van autocomplete (Ctrl + spatie))
      ?persoon  wdt:P67 ?geboorteDatum  .         # Voegt de geboortedatum toe (P67)
      ?persoon  wdt:P3 ?achternaam .              # Haalt de achternaam op (P3)
      ?persoon  wdt:P2 ?voornaam .                # Haalt de voornaam op (P2)
              
     SERVICE wikibase:label { bd:serviceParam wikibase:language "nl,[AUTO_LANGUAGE]". }  # Haalt het label in het Nederlands op
    }
    
    ORDER BY LCASE(?achternaam) LCASE(?voornaam)  # Sorteert de resultaten op achternaam, daarna voornaam (hoofdletterongevoelig)
    

    Probeer het!

    Verzetsmensen zoeken op woonplaats

    # Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    
    # Deze query haalt de lijst op van personen in de database 
    # die tijdens/na de Tweede Wereldoorlog in een bepaalde gemeente woonden
    
    #title: Verzetsstrijders gefilterd op woonplaats (hier: Anderlecht)
    
    SELECT ?persoon ?achternaam ?voornaam ?geboorteDatum
    WHERE {
      ?persoon  wdt:P1  wd:Q2 .                   # Selecteert alle elementen die (P1) personen (Q2) zijn
      ?persoon  wdt:P7  wd:Q102 .                 # Filtert op woonplaats (P7), hier Anderlecht (Q102) (vervang Q102 door de (deel-)gemeente van uw keuze met behulp van autocomplete (Ctrl + spatie))
      ?persoon  wdt:P67 ?geboorteDatum  .         # Voegt de geboortedatum toe (P67)
      ?persoon  wdt:P3 ?achternaam .              # Haalt de achternaam op (P3)
      ?persoon  wdt:P2 ?voornaam .                # Haalt de voornaam op (P2)
             
     SERVICE wikibase:label { bd:serviceParam wikibase:language "nl,[AUTO_LANGUAGE]". }  # Haalt het label in het Nederlands op
    }
    
    ORDER BY LCASE(?achternaam) LCASE(?voornaam)  # Sorteert de resultaten op achternaam, daarna voornaam (hoofdletterongevoelig)
    

    Probeer het!

    Verzetsmensen opzoeken per beroep

    # Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    
    # Deze query haalt de lijst op van personen in de database met een bepaald beroep (hier: kapper / kapster).
    
    #title: Verzetsstrijders met een bepaald beroep (hier: kapper / kapster)
    
    SELECT ?persoon ?achternaam ?voornaam ?woonplaatsLabel ?beroepLabel
    WHERE {
      ?persoon  wdt:P1  wd:Q2 .               # Selecteert alle personen (P1) met de identificatie "Persoon" (Q2)
      ?persoon  wdt:P13 ?beroep .             # Selecteert hun beroep (P13)
      ?persoon  wdt:P3 ?achternaam .          # Haalt de achternaam op (P3)
      ?persoon  wdt:P2 ?voornaam .            # Haalt de voornaam op (P2)
      
      FILTER (CONTAINS(str(?beroep), 'coiffeu')
    

    Probeer het!


    Aantal leden per verzetsbeweging

    1. Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    1. Deze query haalt het aantal leden per verzetsorganisatie op en toont de resultaten als een bellenkaart.
    2. U kunt op elke bel of organisatienaam klikken om meer details over de organisatie in de database te zien.
    1. title: Aantal leden per verzetsorganisatie
    1. defaultView:BubbleChart # Weergeven als bellen

    SELECT ?organisatie ?organisatieLabel (COUNT(?persoon) AS ?aantalLeden) WHERE {

     ?persoon wdt:P1 wd:Q2 .              # Selecteert alle elementen die (P1) personen (Q2) zijn
     ?persoon wdt:P52 ?organisatie .     # Filtert op lidmaatschap van een organisatie ("lid van", P52)
    
     FILTER EXISTS { 
      ?organisatie wdt:P1/wdt:P9* wd:Q4  # Controleert of de organisatie (P1) / een subklasse (P9) is van een verzetsorganisatie (Q4)
      }
      # Om alleen verzetsnetwerken/missies te filteren en weer te geven, vervang Q4 door Q38.
      # Om alleen gewapende verzetsbewegingen te filteren en weer te geven, vervang Q4 door Q37.
    


     SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl". }  # Haalt de labels in het Nederlands op
    

    } GROUP BY ?organisatie ?organisatieLabel ORDER BY DESC(?aantalLeden) }}

    De plaats van overlijden tijdens de oorlog visualiseren

    # Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    
    # Deze query haalt de overlijdensplaatsen van verzetsstrijders tot het einde van 1945 op 
    # en toont ze op een kaart met hun namen en, indien beschikbaar, de overlijdensdata.
    
    # Tip: U kunt op de punten op de kaart klikken om de namen van de overleden personen te bekijken.
    # Opmerking: Buitenlandse locaties zijn "gemoderniseerd" om overeen te komen met de huidige gegevens in de Geonames-database.
    
    #title: Plaatsen en data van overlijden tijdens de oorlog
    
    #defaultView:Map{"hide":"?GPS"}  # Weergeven als kaart, GPS-coördinaten verbergen
    
    SELECT ?persoon ?persoonLabel ?overlijdensplaats ?overlijdensplaatsLabel ?GPS ?overlijdensDatum
    WHERE {
      ?persoon wdt:P1 wd:Q2 .                      # Selecteert alle personen (P1 = Q2)
      ?persoon wdt:P48 ?overlijdensplaats .        # Haalt de overlijdensplaatsen op (P48)
      ?overlijdensplaats wdt:P6 ?GPS .             # Haalt de GPS-coördinaten van de overlijdensplaatsen op (P6)
      OPTIONAL { ?persoon wdt:P68 ?overlijdensDatum .   # Haalt de overlijdensdatum op, indien beschikbaar
                 FILTER(?overlijdensDatum <= "1945-12-31"^^xsd:dateTime)  # Filtert overlijdensgevallen: tot het einde van 1945
      }
      
      SERVICE wikibase:label { bd:serviceParam wikibase:language "nl,[AUTO_LANGUAGE]". }  # Haalt de labels in het Nederlands op
    }
    
    ORDER BY ?overlijdensplaatsLabel
    

    Probeer het!


    Alle vrouwen opgeven die aangehouden werden met, voor zover bekend, hun beroep en erkenningsstatuut

    # Deze query is automatisch vertaald om pragmatische redenen en vanwege beperkte middelen. Houd er rekening mee dat sommige termen mogelijk niet volledig nauwkeurig zijn.
    
    #title: Vrouwelijke verzetsstrijders die gevangen werden genomen
    SELECT DISTINCT ?persoon ?achternaam ?voornaam ?beginVanDetentie ?eindeVanDetentie ?beroepLabel ?erkenningsstatusLabel
    WHERE {
    
        ?persoon wdt:P1 wd:Q2 .                   # Selecteert personen (P1 = Q2)
      ?persoon wdt:P4 wd:Q6 .                   # Filtert om vrouwen te selecteren (P4 = vrouw Q6)
      
      ?persoon p:P53 ?detentie_statement .      # Zoekt naar personen die gevangen werden genomen (P53)
      ?detentie_statement ps:P53 ?detentie .
               
      OPTIONAL { ?detentie_statement pq:P23 ?beginVanDetentie. FILTER (datatype(?beginVanDetentie) = xsd:edtf ) } # Haalt de begindatum van de detentie op, indien beschikbaar (P23)
      OPTIONAL { ?detentie_statement pq:P25 ?eindeVanDetentie. FILTER (datatype(?eindeVanDetentie) = xsd:edtf ) } # Haalt de einddatum van de detentie op, indien beschikbaar (P25)
    
      <div lang="en" dir="ltr" class="mw-content-ltr">
    OPTIONAL { ?person wdt:P13 ?profession. }           # Retrieves the profession if available (P13)
      OPTIONAL { ?person wdt:P55 ?recognitionStatus. }    # Retrieves the national recognition status if obtained (P55)
    </div>
    
      <div lang="en" dir="ltr" class="mw-content-ltr">
    ?person  wdt:P3 ?surname .             # Retrieves the surname (P3)
      ?person  wdt:P2 ?firstName .           # Retrieves the first name (P2)
      
      SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }  # Retrieves the labels in English
    </div>
    
    }
    
    <div lang="en" dir="ltr" class="mw-content-ltr">
    ORDER BY LCASE(?surname) LCASE(?firstName)  # Sorts case-insensitively
    

    Probeer het!


    Alle verzetsmensen opgeven die als ARA/FFC erkend werden of een bedankingsbrief kregen, met hun woonplaats en de referentie van hun persoonsdossiers

    # 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">
    # This query retrieves the list of resistance fighters recognised as intelligence and action agents (ARA)
    # 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: ARA resistance fighters (recognised or letter of thanks) or FFC
    </div>
    
    <div lang="en" dir="ltr" class="mw-content-ltr">
    SELECT DISTINCT ?person ?surname ?firstName ?residence ?residenceLabel ?recognisedStatusLabel ?LR ?archiveCollectionLabel ?inventoryNo WHERE {
    </div>
    
      <div lang="en" dir="ltr" class="mw-content-ltr">
    ?person wdt:P1 wd:Q2 .                    # Selects 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:P55 ?recognisedStatus. 
        FILTER(?recognisedStatus IN (wd:Q17, wd:Q4487)) }  # Filters for recognised ARA statuses (Q17) or FFC (Q4487)
      UNION                                            # OR
      { ?person p:P54 ?statement.
        ?statement ps:P54 wd:Q17; pq:P56 wd:Q6665.     # Persons who received a letter of thanks (Q6665)
        BIND("letter of thanks ARA" AS ?LR)}
    </div>
    
      <div lang="en" dir="ltr" class="mw-content-ltr">
    OPTIONAL { ?person wdt:P7 ?residence. }         # Retrieves the residence if available (P7)
      OPTIONAL { ?person p:P34 ?archive_statement . 
                 ?archive_statement ps:P34 ?archiveCollection ;
                                    pq:P35 ?inventoryNo.}  # Reference to the archives
      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(?surname) LCASE(?firstName)  # Sorts results by surname, then first name (case-insensitive)
    LIMIT 100  # Limits the results to 100 to optimise performance. You can adjust or remove this limit as needed.
    

    Probeer het!


    De gegevens over de verzetsmensen via externe bronnen verrijken [gegroepeerde opzoeking]

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

    Probeer het!