TLDR

  1. ⁉️107 venues non sono rappresentate a livello di riga sul dump CSV
    1. Venues in venue field: 8344608 Venues as rows: 8344501 Difference: 107
      1. È dovuto al fatto che a volte i records non finiscono nell’rdf e quindi non finiscono nel CSV. Legato possibilmente ad un problema noto, per ora si gestisce con una patch. Oppure problema di corruzione dello zip dell’RDF. Intanto recupera quali entità sono quelle in questione (e manda ad Arca).
  2. ⁉️Nel processare la cartella “br” del dump in RDF (per creare le tabelle di risorse che non sono nel dump CSV) risulta che sono state processate 99.810.522 entità (circa 41.000 in meno delle 99.851.773 dichiarate nel sito) C’è una ragione? Il numero di risorse processate deriva da tqdm.
    1. Di nuovo, è un problema noto che RDF non ci siano tutte le entità del grafo. Questo potrebbe dipendere, di nuovo, da problemi ignoti e dalla corruzione dello zip. In generale, bisogna cominciare a salvare da qualche parte gli RDF dei dump.
  3. 💀 9.209 br (dal dump RDF) non hanno una provenance; o meglio, non sono presenti nel DB che ho creato per interrogare i dati sulla provenance, da cui sono escluse solo le entità di provenance che non hanno valori per le proprietà '<http://www.w3.org/ns/prov#hadPrimarySource'> e/o '<http://www.w3.org/ns/prov#specializationOf'>.
    1. Questa è una sottrazione tra il numero di risorse menzionato nel sito e il conteggio delle righe nel DB.
  4. 💀 Mi risulta che dai file RDF della provenance ho processato 99.842.675 entità (out di tqdm sul generator: 99.842.675it [52:18, 31809.69it/s]), mentre sul sito il numero di risorse bibliografiche è 99,851,773 (ci sono 9.098 entità di provenance in meno): è normale? o comunque si spiega in qualche modo? (vedi 2023/10/24)
    1. Stesso identico problema del punto precedente, ma numeri leggermente diversi dedotti da risultati di processi diversi: questo numero è ottenuto dal log del processo che cerca la provenance di ogni risorsa nella cartella “br” dell’RDF (mandato per errore con tutto l’RDF in input invece che solo le risorse non mappate). → ci sono gli OMID delle risorse che non hanno una provenance nel dump RDF della provenance (caricato su DB), vedi file provenance_analysis.log caricato in questa pagina qui sotto.
  5. 💀 Dovrebbero esserci 84.056 entità in Meta che hanno più di una source (generalmente 2, credo Crossref e Datacite) per un solo snapshot. (vedi 2023/10/24)
    1. Da vedere, Arca di dice che è un problema di concorrenza, come possibilmente anche quelli citati sopra.
  6. ⁉️Nell’analisi della provenance delle risorse non mappate devo distinguere risorse mappabili (con altri ID oltre a OMID) da risorse non mappabili? [Non è semplicissimo perché per poter sapere quali risorse, tra quelle che non sono nel CSV, hanno soltanto OMID devo analizzare anche la cartella “id” dell’RDF]. Nell’analisi che ho fatto ora, sono mescolate; in più, per errore mio, mancano circa 8 milioni di entità che sono presenti nel CSV ma sono senza ID esterni (ri-creo le tabelle di risorse da analizzare e rifaccio l’analisi per la prossima volta)
    1. Sì, bisogna distinguerle. Fai il lavoro con la cartella “id” dell’RDF
  7. JSON dei risultati dell’analisi sulla provenance (temporanei perché l’analisi è da rifare) e visualizzazioni molto ✨glamour ✨.

Da fare:

Sessione

<aside> ⚠️ Ho sbagliato a selezionare le risorse di cui analizzare la provenance!

Ho creato il DB con gli OMID del CSV dal dump di Meta così com’è prima del pre-processing (la creazione delle tabelle ridotte), però forse ho sbagliato. In questo modo, tutte le risorse che non hanno ID oltre a OMID vengono escluse dalle tabelle che uso per fare l’analisi della provenance, quando invece sarebbe il caso, forse, di analizzare anche quelle (anche se è impossibile mapparle per ora).

</aside>

Insomma:

  1. Il DB contiene tutti gli OMID che sono nel CSV, a prescindere che abbiano altri ID o meno (93.000.000)
  2. Le tabelle CSV che uso per fare il mapping contengono solo risorse che hanno altri ID associati oltre a OMID (93.000.000 - 8.122.448)
  3. Creo delle tabelle di risorse “extra” che non sono contenute nel dump CSV a partire dall’RDF; per ogni risorsa nell’RDF, se non è nel DB, la scrivo sulla tabella. (99.000.000 - 93.000.000). Sono scritte sulla tabella a prescindere dalla presenza di altri ID oltre a OMID (informazione che tra l’altro non è visibile sulla cartella br dell’RDF). Quindi in queste tabelle ci saranno sia risorse mappabili che non mappabili.
  4. Analizzo la provenance di tutte quelle risorse che erano nel CSV ma non erano state mappate (circa 6 milioni) + quelle risorse che non erano affatto nel CSV. In tutto sono circa 9 milioni (9.133.203 quelle di cui si è potuto analizzare la provenance + 2.096 entità per cui non è stata trovata informazione sulla provenance).
  5. Quindi ho mappato 81 milioni di entità, e di 9 milioni di entità che non sono state mappate ho analizzato la provenance. Gli altri 8/9 milioni che mancano per arrivare a 99.000.000?? Sono quelle entità che erano nel CSV ma non avevano altri ID oltre a OMID: in quanto presenti nel CSV sono stati aggiunti al DB degli OMID, pur senza essere stati processati nel mapping, perché scartati prima. Visto che anche tra le entità che arrivano dall’RDF potrebbero esserci delle risorse che hanno soltanto OMID, forse è più logico includere anche le entità del CSV nell’analisi della provenance, anche se sappiamo per certo che non sono mappabili.