italia / daf-ontologie-vocabolari-controllati

Elenco di ontologie e vocabolari controllati. Per maggiori informazioni, si veda il readme principale e quello di singoli vocabolari/ontologie, ove presente, e la seguente documentazione
https://github.com/italia/daf-ontologie-vocabolari-controllati/wiki
Creative Commons Attribution 4.0 International
82 stars 51 forks source link

Allineamento tra `latest` e ultime directory #107

Open ioggstream opened 2 years ago

ioggstream commented 2 years ago

Mi aspetto

Invece

@giorgialodi come procediamo? Qual è quello corretto e quale quello sbagliato? Log qui https://github.com/ioggstream/daf-ontologie-vocabolari-controllati/runs/4228531944?check_suite_focus=true

Edit: modifico l'issue originale per poter trasformare la task list in issue --bfabio

ioggstream commented 2 years ago
ERROR:__main__:--- Ontologie/CPSV/v1.1/CPSV-aligns-AP_IT.ttl
+++ Ontologie/CPSV/latest/CPSV-aligns-AP_IT.ttl
@@ -13,7 +13,7 @@
                                                        "Institute of Cognitive Sciences and Technologies of the Italian Research Council (CNR) - Semantic Technology Laboratory (STLab)"@en ,
                                                        "Italian Digital Transformation Team"@en ;
                                             dc:issued "2018-07-31"^^xsd:date ;
-                                            dc:modified "2018-07-31"^^xsd:date ;
+                                            dc:modified "2019-04-23"^^xsd:date ;
                                             dc:title "Questi sono gli allineamenti dell'ontologia sui servizi pubblici Core Public Service Vocabulary - Italian Application Profile  (CLV-AP_IT) verso ontologie esterne del Web semantico standard e ampiamente utilizzate." ,
                                                      "These are the alignments to external ontologies widely used and available at the state of the art"@en .

File Ontologie/Cultural-ON/v3.2/Cultural-ON-AP_IT.ttl is up to date with Ontologie/Cultural-ON/latest/Cultural-ON-AP_IT.ttl
Traceback (most recent call last):
  File "tests/directory-validator.py", line 63, in <module>
    raise ValueError("Errors found: " + "\n".join(errors))
ValueError: Errors found: ERROR: files are different: Ontologie/CPSV/v1.1/CPSV-aligns-AP_IT.ttl Ontologie/CPSV/latest/CPSV-aligns-AP_IT.ttl

ERROR:__main__:--- Ontologie/CulturalHeritage/v0.1/CulturalHeritage-AP_IT.ttl
+++ Ontologie/CulturalHeritage/latest/CulturalHeritage-AP_IT.ttl
@@ -56,7 +56,7 @@
                                                  dct:publisher <https://w3id.org/italia/data/organization/support-unit/cnr-Z6HZEH/stlab> ;
                                                  dcat:contactPoint <https://w3id.org/italia/data/contact-point/onto-dgt> ;
                                                  dct:description "This is the Italian application profile of the ontology on the cultural heritage. This ontology of OntoPiA on the cultural heritage imports the current network of ontologies named ArCo - Knowedlege Architecture developed by the Ministry of the Cultural Heritage and Activities"@en ;
-                                                 owl:versionInfo "Versione 0.1- 15 Ottobre 2018 - creata l'ontologia che importa ArCo. In data 26 Marzo corretto l'URI arco utilizzato nell'import"@it ;
+                                                 owl:versionInfo "Versione 0.1- 15 Ottobre 2018 - creata l'ontologia che importa ArCo. In data 26 Marzo 2019 corretto l'URI arco utilizzato nell'import"@it ;
                                                  dct:language <http://publications.europa.eu/resource/authority/language/ITA> ;
                                                  dct:issued "2018-10-15"^^xsd:date ;
                                                  admsapit:target "Imprese"@it ;

ERROR:__main__:--- Ontologie/Transparency/v0.2/Transparency-AP_IT.ttl
+++ Ontologie/Transparency/latest/Transparency-AP_IT.ttl
@@ -272,7 +272,7 @@

 ###  https://w3id.org/italia/onto/Transparency/hasTransparencySubject
 :hasTransparencySubject a owl:ObjectProperty ;
-       rdfs:label "has transparency subject"@en, "has transparency theme"@en, "ha soggetto della trasparenza"@it, "ha tema della trasparenza"@it;
+       rdfs:label "has transparency subject"@en,  "ha soggetto della trasparenza"@it, "has transparency theme"@en, "ha tema della trasparenza"@it;
        rdfs:comment "This property links a transparency obligation to the related subjects."@en,
                "Questa proprietà lega un obbligo di trasparenza ai temi che lo caratterizzano."@it;
        rdfs:domain :TransparencyObligation ;


Traceback (most recent call last):
  File "tests/directory-validator.py", line 63, in <module>
    raise ValueError("Errors found: " + "\n".join(errors))
ValueError: Errors found: ERROR: files are different: Ontologie/CulturalHeritage/v0.1/CulturalHeritage-AP_IT.ttl Ontologie/CulturalHeritage/latest/CulturalHeritage-AP_IT.ttl


ERROR: files are different: Ontologie/Transparency/v0.2/Transparency-AP_IT.ttl Ontologie/Transparency/latest/Transparency-AP_IT.ttl
File Ontologie/MU/v0.4/MU-AP_IT.ttl is up to date with Ontologie/MU/latest/MU-AP_IT.ttl
File Ontologie/CLV/v1.0/CLV-DBGT-AP_IT.ttl is up to date with Ontologie/CLV/latest/CLV-DBGT-AP_IT.ttl
File Ontologie/TI/v0.8/TI-aligns-AP_IT.ttl is up to date with Ontologie/TI/latest/TI-aligns-AP_IT.ttl
File Ontologie/TI/v0.8/TI-AP_IT.ttl is up to date with Ontologie/TI/latest/TI-AP_IT.ttl
ERROR:__main__:--- Ontologie/CPEV/v0.4/CPEV-aligns-AP_IT.ttl
+++ Ontologie/CPEV/latest/CPEV-aligns-AP_IT.ttl
@@ -32,7 +32,7 @@

 <https://w3id.org/italia/onto/CPEV/hasFormat> a owl:ObjectProperty ;
     rdfs:isDefinedBy <https://w3id.org/italia/onto/CPEV> ;
-    owl:subPropertyOf <http://data.europa.eu/m8g/PublicEventformat> .
+    owl:subPropertyOf <http://data.europa.eu/m8g/format> .

 <https://w3id.org/italia/onto/CPEV/subEventOf> a owl:ObjectProperty ;
     rdfs:isDefinedBy <https://w3id.org/italia/onto/CPEV> ;
@@ -42,7 +42,7 @@
     rdfs:isDefinedBy <https://w3id.org/italia/onto/CPEV> ;
     owl:subPropertyOf <http://schema.org/audience> .

-<http://data.europa.eu/m8g/PublicEventformat> a owl:ObjectProperty .
+<http://data.europa.eu/m8g/format> a owl:ObjectProperty .

 <http://schema.org/Audience> a owl:Class .


ERROR:__main__:--- Ontologie/Transparency/v0.2/Transparency-aligns-AP_IT.ttl
+++ Ontologie/Transparency/latest/Transparency-aligns-AP_IT.ttl
@@ -11,10 +11,9 @@
 @prefix clonp: <http://www.ontologydesignpatterns.org/ont/clo/NormativePositions.owl#> .
 @prefix foaf: <http://xmlns.com/foaf/0.1/> .
 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
-

 @base <https://w3id.org/italia/onto/Transparency-aligns> .


ERROR:__main__:--- Ontologie/POT/v0.3/POT-AP_IT.ttl
+++ Ontologie/POT/latest/POT-AP_IT.ttl
@@ -27,7 +27,7 @@
                                     admsapit:prefix "potapit" ;
                                        dct:creator <http://spcdata.digitpa.gov.it/Amministrazione/agid> ;
                                        admsapit:target "Cittadini"@it ;
-                                       dct:modified "2018-03-03"^^xsd:date ;
+                                       dct:modified "2019-04-24"^^xsd:date ;
                                        admsapit:hasTask admsapit:AnnotationTask ,
                                                                                                         admsapit:QueryFormulationTask ;
                                        admsapit:hasTask admsapit:SearchTask ;
@@ -47,7 +47,7 @@
                                        dct:publisher <http://spcdata.digitpa.gov.it/Amministrazione/agid> ;
                                        dct:rightsHolder <http://spcdata.digitpa.gov.it/Amministrazione/agid> ;
                                        dct:description "Questo il profilo applicativo italiano dell'ontologia dei prezzi, offerte e biglietti. L'ontologia può essere usata per rappresentare i dati relativi ai prezzi di un prodotto, le offerte e i biglietti, necessari per partecipare a eventi o aver accesso a determinati luoghi pubblici."@it ;
-                                       owl:versionInfo "Versione 0.3 - 03 Marzo 2018 - Uso di w3id.org/italia/onto/POT/ come base URI"@it , "Version 0.3 - 03 March 2018 - Use di w3id.org/italia/onto/POT/ as base URI"@en ;
+                                       owl:versionInfo "Versione 0.3 - Modificata il 24 Aprile 2019 - Rifattorizzazione l0:Event in l0:EventOrSituation: Uso di w3id.org/italia/onto/POT come URI base"@it , "Version 0.3 - Modified on 24 April 2018 - Refactoring of l0:Event in l0:EventOrSituation; Use of w3id.org/italia/onto/POT/ as base URI"@en ;
                                        dcat:contactPoint <https://w3id.org/italia/data/contact-point/onto-agid> ;
                                        admsapit:semanticAssetInUse <https://w3id.org/italia/data/project/DAF> ,
                                                                                                                   <https://w3id.org/italia/data/project/OntoPiA> ;
@@ -191,7 +191,7 @@

                                             rdfs:domain owl:Thing ;

-                                            rdfs:isDefinedBy <https://w3id.org/italia/onto/POT/> ;
+                                            rdfs:isDefinedBy <https://w3id.org/italia/onto/POT> ;

                                             rdfs:range <https://w3id.org/italia/onto/POT/Offer> .

ERROR:__main__:--- Ontologie/SM/v0.7/SM-AP_IT.ttl
+++ Ontologie/SM/latest/SM-AP_IT.ttl
@@ -143,7 +143,7 @@
 #    Object Properties
 #################################################################

-###  https://w3id.org/italia/onto/SM#hasReview
+###  https://w3id.org/italia/onto/SM/hasReview
 :hasReview rdf:type owl:ObjectProperty ;
            rdfs:domain owl:Thing ;
            rdfs:range :Review ;
giorgialodi commented 2 years ago

Devo controllare puntualmente e mi ci vuole un attimo di tempo.

giorgialodi commented 8 months ago

@bfabio @mfortini @Clou-dia questo mi sembra già incluso nella CI. Quindi chiudere l'issue

bfabio commented 8 months ago

@giorgialodi da quello che capisco, il contenuto di latest dovrebbe essere identico al contenuto della directory con versione più alta, ma questo non viene controllato nella CI. edit: viene controllato da un'integrazione con pre-commit hooks presi da un altro repo, meh. Il fatto che la CI sia sparsa in due modi differenti non mi fa impazzire

Ma a parte questo, perché non mettiamo semplicemente un link simbolico latest -> v.xx in modo da eliminare direttamente quella categoria di errori?

ioggstream commented 8 months ago

perché non mettiamo semplicemente un link simbolico latest -> v.xx in modo da eliminare direttamente quella categoria di errori?

Se questa cosa funziona in modo robusto per me va benissimo.

Il fatto che la CI sia sparsa in due modi differenti non mi fa impazzire...

Capisco, ma c'è un motivo.

I controlli a regime devono essere centralizzati: i singoli repo possono poi aggiungere ulteriori check.

L'idea originale era quella di mettere tutto in una github-action/container stile super-linter usabile dall'ecosistema per assicurarci che tutti i contenuti committati siano validi, ma non abbiamo avuto tempo.

Da un punto centralizzato (e.g., il catalogo software? Fate voi...) si potrebbe verificare che i repo abbiano la action abilitata.

Fai sapere se/come pensi si possa migliorare la cosa, restando fermo il fatto però che i linter devono essere riusabili ed inseriti di default nel https://github.com/teamdigitale/dati-semantic-cookiecutter Il repo che deve fare da base per tutti i repo di asset semantici.

bfabio commented 8 months ago

perché non mettiamo semplicemente un link simbolico latest -> v.xx in modo da eliminare direttamente quella categoria di errori?

Se questa cosa funziona in modo robusto per me va benissimo.

Non so bene chi consumi il repo, ma possiamo ragionarci @giorgialodi (è solo dati-semantic-backend?)

Il fatto che la CI sia sparsa in due modi differenti non mi fa impazzire...

Capisco, ma c'è un motivo.

Ha senso

giorgialodi commented 4 months ago

@bfabio mi era sfuggita questa cosa :-( sì è la parte di backend di schema, in particolare l'harvester, che pesca da qui. @Clou-dia

bfabio commented 4 months ago

@giorgialodi il link simbolico allora dovrebbe funzionare: l'harvester fa un clone locale del repository in teoria e quindi è trasparente.

Nel caso ci fossero problemi e dato che gira una volta al giorno è anche un buon modo per verificare i meccanismi di notifica di errori. :moyai:

giorgialodi commented 4 months ago

@bfabio potremmo provare e se per caso non funziona più nulla ritorniamo sui nostri passi :)

ioggstream commented 4 months ago

@bfabio +1 per il symlink se funziona (e.g., verificare se githubusercontent li risolve). Fatemi sapere!

bfabio commented 4 months ago

Per vedere le differenze:

cd Ontologie
for i in */; do dir=$(ls -dv  $i/*/ | grep -v 'latest/' | tail -1); diff -bur $i/$(basename $dir) $i/latest; done

Per vedere quali ontologie hanno latest identica all'ultima versione:

for i in */; do dir=$(ls -dv  $i/*/ | grep -v 'latest/' | tail -1); diff -bur $i/$(basename $dir) $i/latest > /dev/null && echo $i;  done

Per vedere quali ontologie NON hanno latest identica all'ultima versione:

for i in */; do dir=$(ls -dv $i/*/ | grep -v 'latest/' | tail -1); diff -bur $i/$(basename $dir) $i/latest > /dev/null || echo $i;  done

Le differenze sono in:

Apro delle issue puntuali, così possiamo strutturare meglio il lavoro

edit: ho corretto il comando che aveva un bug, COV non ha differenze, ma ne ha IoT, che prima non c'era.

ioggstream commented 3 months ago

@bfabio valuta se usare qualcosa tipo gh-pages invece di raw.ghuc_com che è cmq limitato.