Digitalizzazioni in LOD: come cercare le edizioni digitalizzate del CoBiS con SPARQL

Nel contesto del progetto “CoBiS Digital Library & Archives”, avviato nell’aprile 2018 grazie al finanziamento della Regione Piemonte, sono stati digitalizzati fondi bibliografici e archivistici appartenenti alle raccolte di 17 istituti afferenti al CoBiS, di cui 12 aderenti al CoBiS LOD e con la Biblioteca civica Centrale di Torino come ente capofila.

L’obiettivo principale del progetto è stato agevolare la consultazione, la diffusione, la tutela delle edizioni attraverso la digitalizzazione e la pubblicazione dei file su Internet Archive in modo da avviare una convergenza con il progetto CoBiS LOD.

Rivista OlivettiIl lavoro ha previsto una selezione del materiale da digitalizzare da parte delle diverse biblioteche, digitalizzazione e produzione dei file immagine nei formati TIFF e JPEG, attribuzione della nomenclatura univoca delle immagini, riconoscimento ottico del contenuto testuale (OCR), produzione dei file PDF del materiale scansionato, creazione di una collezione “CoBiS Digital Library & Archives” su Internet Archive e l’inserimento delle immagini digitali con rispettivi metadati sulla piattaforma digitale.

I dati delle opere digitalizzate sono stati raccolti in un Google spreadsheet da cui l’algoritmo estrae i link da salvare su Virtuoso; poi, sul portale LOD, nelle pagine di tutte queste opere, grazie al BID SBN associato all’URL Internet Archive, viene mostrato il collegamento alla digitalizzazione. Questo processo di arricchimento è continuo, infatti i dati vanno in aggiornamento ogni notte.

Per le opere suddivise in più volumi, come i periodici ripartiti in diversi anni, questi sono singolarmente collegati tra loro: infatti, nella pagina delle singole edizioni è presente il collegamento agli altri volumi, dalle cui pagine è possibile tornare indietro senza effettuare una nuova ricerca.

Presto sarà aggiunto anche un indice delle opere digitalizzate, ma come è possibile estrarre le edizioni per cui sono disponibili le digitalizzazioni sul portale LOD interrogando l’endpoint SPARQL? Vediamo di seguito come

Query SPARQL per estrarre l’elenco delle opere digitalizzate

Immaginiamo di voler avere a disposizione la lista completa con il materiale digitalizzato e di aver individuato, esaminando l’ontologia, le proprietà che mettono in relazione un’edizione con la rispettiva digitalizzazione e il titolo in foaf:depiction e schema:name, a questo punto si può impostare la query come descritto nell’articolo Interrogare i dati catalografici del CoBiS LOD con SPARQL.

In questo caso, nella WHERE le indicazioni inserite andranno a cercare tra tutte le edizioni (?instance) che hanno una digitalizzazione (foaf:depiction) e che hanno un titolo (schema:name).

Volendo visualizzare tutte le edizioni inseriremo nella SELECT la variabile ?instance, soggetto delle triple coinvolte, ?ia per chiedere di visualizzare i link alla digitalizzazione e ?name per visualizzare il titolo dell’edizione. 

Inoltre, per visualizzare i titoli in ordine alfabetico va inserito (alla fine e fuori dalle parentesi graffe) ORDER BY e la variabile secondo cui effettuare l’ordine, nel nostro caso ?name.

SELECT DISTINCT ?instance ?name ?ia 

WHERE

{ ?instance foaf:depiction ?ia .

  ?instance schema:name ?name .

}

ORDER BY ?name

Vai al risultato

Sulla base di questa query, è possibile scoprire quante sono le edizioni della lista con link alla copia digitale modificando la SELECT e impostando la seguente stringa:

SELECT (COUNT(DISTINCT ?instance)AS ?n)

WHERE

{ ?instance foaf:depiction ?ia .

  ?instance schema:name ?name .

}

Vai al risultato 

Per verificare se esistono più digitalizzazioni per una edizione si può chiedere nella SELECT di mostrare tutte le edizioni (?instance), il titolo (?name) e per ognuna contare (count) il numero (?n) di link (?ia) collegati, ordinando i risultati per ?n in ordine decrescente aggiungendo DESC.

SELECT ?instance (COUNT(DISTINCT ?ia) AS ?n) ?name

WHERE

{ ?instance foaf:depiction ?ia .

  ?instance schema:name ?name .

}

ORDER BY DESC (?n)

Vai al risultato

Avendo riscontrato casi in cui una edizione è legata a più copie digitali, è possibile capire il motivo chiedendo informazioni sul livello bibliografico (cobis:bibliographicLevel) di appartenenza, utilizzando la seguente query:

SELECT ?instance (COUNT(DISTINCT ?ia)AS ?n) ?bibliographicLevellabel ?name

WHERE

{ ?instance foaf:depiction ?ia .

  ?instance schema:name ?name .

  ?instance cobis:bibliographicLevel ?bibliographicLevel .

  ?bibliographicLevel rdfs:label ?bibliographicLevellabel .

}

order by desc (?n)

Vai al risultato

Dai risultati restituiti emerge che per i casi in cui le edizioni sono collegate a più link si tratta di periodici.

A questo punto, se si preferisce filtrare i risultati ottenendo solo le monografie, è possibile effettuare la query seguente:

SELECT DISTINCT ?instance ?bibliographicLevellabel ?name ?ia

WHERE

{ ?instance foaf:depiction ?ia .

  ?instance schema:name ?name .

  ?instance cobis:bibliographicLevel ?bibliographicLevel .

MINUS {?instance cobis:bibliographicLevel bibliographicLevel:s}

  ?bibliographicLevel rdfs:label ?bibliographicLevellabel .

}

ORDER BY ?name

Vai al risultato

Inserendo MINUS si chiede di sottrarre dalla ricerca i dati relativi a quella tripla, cioè tutte le edizioni (?instance) il cui livello bibliografico (cobis:bibliographicLevel) corrisponde a un periodico (bibliographicLevel:s).

Per scoprire il numero delle monografie collegate a una digitalizzazione si può usare COUNT nella SELECT e far riferimento alla query:

SELECT (COUNT(DISTINCT ?instance)AS ?n)

WHERE

{ ?instance foaf:depiction ?ia .

  ?instance schema:name ?name .

  ?instance cobis:bibliographicLevel ?bibliographicLevel .

MINUS {?instance cobis:bibliographicLevel bibliographicLevel:s}

  ?bibliographicLevel rdfs:label ?bibliographicLevellabel .

}

Vai al risultato

Individuare i periodici digitalizzati tramite query SPARQL

È possibile visualizzare l’elenco dei periodici sostituendo nella query precedente bibliographicLevel:s con bibliographicLevel:m 

SELECT DISTINCT ?instance ?name ?ia

where 

{?instance foaf:depiction ?ia .

 ?instance schema:name ?name .

?instance cobis:bibliographicLevel bibliographicLevel:s .

}

ORDER BY ?name

Vai al risultato

Quanti sono i periodici? Prova a modificare la query precedente impostando COUNT nella SELECT, come nel caso delle monografie, per ottenere il risultato.

Per scoprire quali sono tutti i livelli bibliografici presenti può essere utile la query seguente:

SELECT DISTINCT ?bibliographicLevel ?label

WHERE

{?instance cobis:bibliographicLevel ?bibliographicLevel .

?bibliographicLevel rdfs:label ?label .

}

Vai al risultato

Invece, se volessimo ottenere la lista dei periodici con il numero di link alle digitalizzazioni disponibili per ciascuno? Con la seguente query è possibile ottenere la lista di tutti i periodici con digitalizzazioni, raggruppati per titolo inserendo alla fine GROUP BY e ordinati per numero decrescente:

SELECT ?instance ?name (count(distinct ?ia) as ?n) 

WHERE

{?instance cobis:bibliographicLevel bibliographicLevel:s .

?instance foaf:depiction ?ia .

?instance schema:name ?name .}

Group By ?instance ?name

ORDER BY DESC (?n)

Vai al risultato

Si possono filtrare i risultati utilizzando varie combinazioni di dati in base all’interesse, di seguito altri esempi di informazioni che si possono estrarre impostando in modo specifico le query:

Per scoprire di più esplora le query proposte sul portale e continua a seguire gli aggiornamenti sul sito CoBiS e i canali social.