2.3 Queries voor SPARQL - StefanGerrits2/Frontend-Applications GitHub Wiki

Ik heb 4 queries met SPARQL geschreven om alle verschillende soorten categorieën speelgoed op te halen met de bijbehorende data.

Zo ziet een van mijn queries eruit:

	PREFIX dc: <http://purl.org/dc/elements/1.1/>
        PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
        PREFIX dct: <http://purl.org/dc/terms/>
        PREFIX edm: <http://www.europeana.eu/schemas/edm/>
        PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
        PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
        SELECT 
            ?obj
            ?title
            ?type 
            (SAMPLE(?img) as ?img) 
            ?originLabel
            ?cultureLabel
            ?time
            ?size
            ?materialLabel

        WHERE {
        ?obj edm:isRelatedTo <https://hdl.handle.net/20.500.11840/termmaster1832> .
        ?obj edm:object <https://hdl.handle.net/20.500.11840/termmaster12646> .
        ?obj dc:title ?title .
        ?obj dc:type ?type .
        ?obj edm:isShownBy ?img .
        ?obj dct:spatial ?origin .
        ?obj dct:extent ?size .
        ?origin skos:prefLabel ?originLabel .
        ?obj dct:medium ?material .
        ?material skos:prefLabel ?materialLabel .
        
        OPTIONAL { ?obj dct:created ?time } .
        OPTIONAL { ?obj dc:subject ?culture } .
        OPTIONAL { ?culture skos:prefLabel ?cultureLabel } .
        
        FILTER langMatches(lang(?title), "ned")
            
        } LIMIT 50
  • Met PREFIX wordt er simpelweg een afkorting gemaakt voor de plekken waar de informatie vandaan kan komen.
  • Met SELECT selecteer ik welke variabelen ik terug wil krijgen.
  • Met WHERE Haal ik alle data op:
  1. Eerst selecteer ik de variabele.
  2. Dan roep ik de plek op waar de informatie staat met de afkorting.
  3. Dan sla ik de data op in een variabele.
  • Met OPTIONAL hoeft de gevraagde data er niet altijd te zijn. ALS de informatie er is, dan wil ik deze ook graag terug hebben. Als de informatie er niet is, wil ik alsnog het object terugkrijgen met de informatie die er wel is.
  • Met FILTER filter ik specifiek op Nederlandse titels.
  • Met LIMIT geef ik een limiet op hoeveel objecten ik terug wil krijgen.