-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aggiungere CI sul repo per i file .ttl #101
Comments
@giorgialodi vedrei per le ultime due voci nella checklist @ioggstream sono già state implementate? |
@bfabio non credo siano stati implementati. I check sono parzialmente implementati in una libreria python esterna. - repo: https://github.com/teamdigitale/json-semantic-playground.git . Puoi verificare dentro I pre-commit hooks. Ove possibile, i check andrebbero integrati nei pre-commit hooks in modo da essere riusabili da tutti gli enti che partecipano, e configurati per-directory |
@bfabio cosa facciamo con questo issue? Tra l'altro il terzo check non ha senso in generale rispetto al titolo dell'issue. Validare ogni file turtle ontologico con shacl shapes vuol dire creare le shacl shape per ogni ontologia e quindi ogni modello dei dati e al momento non è a roadmap di schema. È un lavoro molto vasto. Forse si intendeva per i metadati dei vocabolari controllati e c'è un altro issue relativo #225 |
@giorgialodi IMO, dimmi se ti torna:
La potremmo considerare #225, come dici tu, e in aggiunta crearne una nuova come tracciamento del lavoro più completo (che magari si farà in un lontano futuro o non si farà, ma almeno abbiamo un posto dove discuterne). Questo a meno che tu pensi sia una cosa troppo grossa rispetto al vantaggio che ci porterebbe. Vedo comunque che la casella è segnata come fatta, il che è strano.
Queste due per me hanno abbastanza senso, creerei delle issue di per discuterne. Saranno da implementare su https://github.com/teamdigitale/dati-semantic-cookiecutter |
@bfabio sì il primo punto mi torna. La questione shacl per ogni modello ontologico potrebbe anche avere senso ma proprio come lavoro molto futuro, ma molto molto. Al momento non è previsto. Penso fosse checkata per via di alcuni controlli minimi su alcuni vocabolari o su alcuni metadati, ma un conto sono i metadati descrittivi un conto è fare una valutazione via SHACL shapes di quanto modellato nell'ontologia. Per gli ultimi due punti: se il CSV non lo imponiamo come si sta discutendo di recente su schema, non so. Magari se un'amministrazione lo mette avere un minimo di controllo ha senso. Invece UTF-8 ha senso eccome, per il resto vorrei capire meglio il tutto, soprattutto in questo contesto il riferimento al "path" |
C'è un minimo di validazione fatta tramite Frictionless se non ricordo male.
tutti i check vanno implementati nel repo centralizzato repo: ed importati via pre-commit da Alcuni check sono implementati dentro questo repo perché non sono stati ancora generalizzati. |
Corretto. L'obiettivo in prima battuta è evitare che vengano committati file che falliscono al momento dell'harvesting. |
sì ma l'harvesting @ioggstream fa harvesting di cose diverse: i vocabolari sono una cosa, le ontologie un'altra e hanno metadati loro. Inoltre il framework frictionless di solito viene usato per includere metadati di contenuto rispetto a intestazioni di colonne di dat espressi in CSV. A me sembra proprio fuori luogo qui perché 1) la semantica c'è già espressa negli standard relativi e nasce prima (spesso il CSV è derivato dall'RDF). Non siamo nel caso di dati CSV più disparati. Sono tutti uguali ed espressi con un'unica ontologia (che dà già la semantica) che è SKOS (ossia massimo 4 campi quando ci sono anche le alternative label e le descrizioni). |
Frictionless per ora lo usiamo per verificare che i CSV abbiano i campi con valori uniformi (eg., che in una colonna con tutti interi non ci siano stringhe, ad esempio, o viceversa). Ovviamente è un tipo di controlli che va affinato, ma evita che dei dati sporchi (anche se generati da processi automatici) finiscano per rompere l'harvester o le API. A regime l'ideale sarebbe definire un processo di proiezione RDF->CSV con json-ld framing, sparql o X. Ci ragioneremo spero presto. |
Ma non ci sono questi casi @ioggstream. I CSV sono codici (stringhe) e termini (stringhe). Non siamo parlando di un repo con dataset in CSV dove allora quello che scrivi DEVE essere fatto. |
Che quei casi non ci siano deve essere stabilito da un software, non dalla buona fede del developer che crea il file ;) That's it. |
@ioggstream chiaramente non sono d'accordo perché questo repository ha specifici contenuti e sappiamo bene la loro natura. |
Mi aspetto
latest
Invece
Note
latest
Per gli altri tipi di file valuterei altre azioni.
The text was updated successfully, but these errors were encountered: