03-09-2024 Creazione entità
La Novitade
Meta
- Lo script che genera l’RDF a partire dal dump ora genera in parallelo i singoli file separatamente e poi li fonde in parallelo alla fine. In questo modo, il processo è più veloce perché si elimina il problema dei lock e della lettura di file durante la generazione.
- Problema esaurimento inodes: merge ogni 1000 file.
- Parametro opzional prefer_self in merge di BibliographicResource (BibliographicEntity) che ignora ar_list e re_list di other se presenti in self. L’ho messo solo in BibliographicResource e nelle classi genitori, non in quelle sorelle (Identifier ecc). Mi sembrava un over-engineering considerato che non ne prevedo l’uso (YAGNI), anche se mi rendo conto che sia poco elegante.
1 |
|
- Trovati 447,982 gruppi di identificatori da fondere.
- Software che raggruppa gli identificatori in file diversi per entità che li puntano, in modo da poterli fondere in parallelo.
- Li ho fusi
- 47:14:43 per fonderli nei file
- poche ore per fonderli sul triplestore
oc_ocdm
FilesystemCounterHandler
- Semplificata la struttura del file di conteggio, ora ogni riga contiene solo un numero intero.
- Rimosso l’uso di
_initial_line_len
e_trailing_char
nella logica di lettura e scrittura. - Modificato
_read_number
per leggere il file riga per riga invece di usare calcoli di offset. - Aggiornato
_set_number
per scrivere numeri semplici invece di righe di lunghezza fissa. - Modificato
__initialize_file_if_not_existing
per creare un file con una singola riga vuota. - Aggiunta la funzione
_set_numbers
per supportare l’aggiornamento in batch di più contatori. - Rimosso
_get_line_len
,_increase_line_len
,_is_a_valid_line
, e_fix_previous_lines
poiché non più necessari. - Adattate le funzioni di lettura, scrittura e incremento per lavorare con il nuovo formato del file.
Queste modifiche rendono l’implementazione più semplice, robusta e facile da mantenere, eliminando la complessità legata alla gestione di righe di lunghezza fissa.
HERITRACE
- Risolto un bug per cui gli elementi clonati clonavano anche eventuali predicati annidati ripetuti, come multipli id per un autore.
- Risolto un bug per cui nei menu a tendina degli elementi clonati non veniva selezionato di default il primo elemento dei select option come avviene per il primo elemento clonato
- Risolto un bug per cui i pulsanti di toggle non cambiavano da collapse a expanded
- Risolto un bug per cui in fase di creazione dell’entità non venivano mostrati i campi editor, publisher, volume e journal.
- Il menu a tentina delle classi è più largo delle proprietà della classe stessa, per far capire che è gerarchicamente superiore.. Inoltre, in questo modo si crea lo spazio per distanziare il pulsante di cancellazione dai select
- Modifica shacl e display rules per distinguere tra journal article, che ha volume, issue e journal, dalle altre risorse bibliografiche che non lo hanno
- Risolto un bug per cui in assenza di display properties non venivano visualizzate le triple presenti nei vari snapshot di un’entità
- Creazione di entità in assenza di
- shacl
- display properties
- L’utente può scegliere se il valore è un URI o un Literal e in caso di Literal può scegliere il datatype.
- Lista dei datatype human readable
- Validazione datatype client side e server side
- Validazione URI entità, proprietà e valore proprietà di tipo URI client side e server side
- È obbligatorio avere almeno una proprietà. Validazione sia client side che server side. Client side vienenasdcondo il pulsante di cancellazione.
- Se un’entità esiste già, crearla rimanda alla pagina dell’entità già esistente e la creazione viene bloccata.
- generazione degli URI per le nuove entità
- Implementata una classe astratta
URIGenerator
come base per la generazione degli URI. - Create le classe concrete
DefaultURIGenerator
(uuid)MetaURIGenerator
. - Modificato il file di configurazione per permettere la specifica della classe di generazione URI da utilizzare.
- Implementata una classe astratta
03-09-2024 Creazione entità
https://arcangelo7.github.io/p/d5dc77e2682540c3bb61370b29f1a951/