Film della serie Guerre stellari
Ecco la tua prima query SPARQL. Questa semplice query mostra i film che fanno parte della serie Guerre stellari.
#Film della serie Guerre stellari SELECT ?item WHERE { ?item wdt:P179 wd:Q22092344. }
Codifica a colori WDQS
Il colore WDQS codifica alcune parole SPARQL, che aiutano a comprendere e spiegare il codice SPARQL:
- Grigio: la prima riga della query ha un hashtag (#) seguito da un testo grigio. Questo indica un commento, qualcosa che scriviamo che non influisce sulla query stessa. Tutto dopo un “#” è un commento e ignorato da WDQS, ad eccezione di alcuni schemi, che vedremo in altre sezioni.
- Rosso: le parole SELECT e WHERE sulle righe 2 e 3 sono visualizzate in maiuscolo rosso. Questo è riservato alle parole della sintassi SPARQL, una specie di “comando”:
- SELECT – qui indichiamo i nomi delle variabili che verranno restituite e visualizzate dalla query.
- WHERE – qui forniamo lo schema da abbinare ai dati, ovvero definiamo le condizioni per trovare i valori per le variabili nella clausola SELECT, spesso sotto forma di triple che riflettono la struttura Elemento-Proprietà-Valore del database.
- Verde: sulle righe 2 e 5, “?item” appare in verde. In SPARQL, i nomi delle variabili sono preceduti da un punto interrogativo e indicati in verde. Quasi ogni stringa può essere un nome di variabile (tranne le parole riservate), come ?film, ?x o ?qualsiasi_nome_di_variabile. Le variabili contengono valori per un uso futuro.
- Blu: sulla riga 5, vediamo alcuni termini mostrati in blu. Questi indicano i prefissi. I prefissi sono abbreviazioni di scelta rapida, che consentono di presentare le query in modo più compatto e trasparente. Senza i prefissi avremmo bisogno di specificare l’URL completo per ogni elemento della query.
- wdt: un prefisso per le proprietà di Wikidata + il numero della proprietà (P).
Senza il prefisso dovremmo fare riferimento a questa proprietà come: http://www.wikidata.org/prop/direct/>:P179 - wd: un prefisso per gli elementi Wikidata + il Q-ID del valore.
Senza il prefisso dovremmo far precedere il Q-ID di <http://www.wikidata.org/entity/>:Q22092344
- wdt: un prefisso per le proprietà di Wikidata + il numero della proprietà (P).
Spiegazione dell’interrogazione (query)
Ora andiamo a vedere come funziona la query.
Una query SPARQL è solitamente composta da due o più clausole, che sono parti della query che hanno funzioni diverse. La nostra query SPARQL di base ha due clausole:
La clausola SELECT
La clausola SELECT elenca le variabili che vuoi restituire, in questo caso la variabile ?item. In sostanza, questa riga dice “Troveremo alcuni valori da archiviare in ?item e quindi visualizzeremo quei valori”.
La clausola WHERE
La clausola WHERE specifica le condizioni per le variabili, principalmente sotto forma di triple. SPARQL lavora sulla logica del pattern matching. Il processore SPARQL confronta i modelli dichiarati all’interno della clausola WHERE con le dichiarazioni in tre parti archiviate su Wikidata. La clausola WHERE dice al processore quali valori di proprietà inserire nelle variabili che stai SELEZIONANDO e come estrarre i dati.
Questo modello di query di base di SPARQL riflette la struttura Elemento-Proprità-Valore del database di dati collegato. Il modello per la corrispondenza nella nostra semplice query è dato come un’istruzione:
?oggetto – ha proprietà:parte di una serie – con valore:Guerre stellari (serie di film).
In altre parole, questa query seleziona gli elementi Wikidata che: (1) hanno una proprietà:parte di una serie (P179) e (2) quella proprietà ha come valore “Guerre stellari (serie di film)” (Q22092344).
Nota che se passi con il cursore sul prefisso o sul suo elemento associato, l’interfaccia WDQS mostrerà l’etichetta e la descrizione di quella proprietà o elemento.
Premi il pulsante “Esegui Query” per eseguire la query. Scorri all’interno del riquadro per vedere i risultati.
La query recupera il numero Q di ciascuno dei film della serie Guerre stellari, ma non il titolo del film.
Nella parte successiva imparerai anche come recuperare i nomi dei film.