SPW-DIG / metawal-core-geonetwork

Metawal - Catalogue pour l'information géographique de Wallonie
http://metawal.wallonie.be
GNU General Public License v2.0
3 stars 1 forks source link

Erreurs d'indexation - Thésaurus InfraSIG et ressources de type carte #633

Closed vbombaerts closed 2 years ago

vbombaerts commented 3 years ago

Describe the bug Le thésaurus InfraSIG semble ne pas être reconnu sur les fiches concernant les cartes. Même en ré-encodant les mots-clés InfraSIG from scratch, les erreurs persistent.

image

fxprunayre commented 3 years ago

Le thésaurus est marqué externe https://github.com/SPW-DIG/metawal-core-geonetwork/blob/metawal-4.0.x/web/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/infraSIG.rdf donc changer l'id du thésaurus dans la fiche ?

vbombaerts commented 3 years ago

Désolé, pas compris. Il faut faire quoi exactement ?

         <mri:descriptiveKeywords>
            <mri:MD_Keywords>
               <mri:keyword>
                  <gco:CharacterString>Reporting INSPIRENO</gco:CharacterString>
               </mri:keyword>
               <mri:type>
                  <mri:MD_KeywordTypeCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_KeywordTypeCode"
                                          codeListValue="theme"/>
               </mri:type>
               <mri:thesaurusName>
                  <cit:CI_Citation>
                     <cit:title>
                        <gcx:Anchor xlink:href="http://metawal.wallonie.be/thesaurus/infrasig">Mots-clés InfraSIG</gcx:Anchor>
                     </cit:title>
                     <cit:date>
                        <cit:CI_Date>
                           <cit:date>
                              <gco:Date>2018-04-23</gco:Date>
                           </cit:date>
                           <cit:dateType>
                              <cit:CI_DateTypeCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode"
                                                   codeListValue="publication"/>
                           </cit:dateType>
                        </cit:CI_Date>
                     </cit:date>
                     <cit:identifier>
                        <mcc:MD_Identifier>
                           <mcc:code>
                              <gcx:Anchor xlink:href="http://metawal.wallonie.be/geonetwork/srv/api/registries/vocabularies/local.theme.infraSIG">geonetwork.thesaurus.local.theme.infraSIG</gcx:Anchor>
                           </mcc:code>
                        </mcc:MD_Identifier>
                     </cit:identifier>
                  </cit:CI_Citation>
               </mri:thesaurusName>
            </mri:MD_Keywords>
         </mri:descriptiveKeywords>
vbombaerts commented 3 years ago

J'ai effacé tout le bloc des mots-clés InfraSIG et je l'ai repris à partir du thésaurus. Je ne vois pas comment corriger autrement.

fxprunayre commented 3 years ago

Si tu supprimes le bloc et que tu le remets en effet ça doit jouer. Sinon

<gcx:Anchor xlink:href="http://metawal.wallonie.be/geonetwork/srv/api/registries/vocabularies/local.theme.infraSIG">
geonetwork.thesaurus.local.theme.infraSIG</gcx:Anchor>

à convertir en

<gcx:Anchor xlink:href="http://metawal.wallonie.be/geonetwork/srv/api/registries/vocabularies/external.theme.infraSIG">
geonetwork.thesaurus.external.theme.infraSIG</gcx:Anchor>

(j'ai pas testé)

vbombaerts commented 3 years ago

Quand je supprime le bloc et que je l'ajoute, le bloc ajouté est <gcx:Anchor xlink:href="http://metawal.wallonie.be/geonetwork/srv/api/registries/vocabularies/local.theme.infraSIG">geonetwork.thesaurus.local.theme.infraSIG</gcx:Anchor>

--> erreur d'indexation image

Quand je modifie l'ancre pour un thésaurus externe <gcx:Anchor xlink:href="http://metawal.wallonie.be/geonetwork/srv/api/registries/vocabularies/external.theme.infraSIG">geonetwork.thesaurus.external.theme.infraSIG</gcx:Anchor>

--> erreur d'indexation image

fxprunayre commented 3 years ago

Tester en local, je pense qu'il faut juste jouer

UPDATE metadata SET data = replace(data, 'local.theme.infraSIG', 'external.theme.infraSIG')
  WHERE data LIKE '%local.theme.infraSIG%';

en db. @davinciagf tu peux tester sur test? merci.

et vérifier que Reporting INSPIRENO est bien dans le thésaurus. Devrait être là https://github.com/SPW-DIG/metawal-core-geonetwork/blob/metawal-4.0.x/web/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/infraSIG.rdf#L99-L102

davinciagf commented 3 years ago

Le thesaurus semble être en local et non en external image

A supprimer de l'admin et le réimporter.

vbombaerts commented 3 years ago

Thésaurus réimporté image

Ancre changée <gcx:Anchor xlink:href="http://metawal.wallonie.be/geonetwork/srv/api/registries/vocabularies/external.theme.infraSIG">geonetwork.thesaurus.external.theme.infraSIG</gcx:Anchor>

image

Mais le problème est toujours là image

davinciagf commented 3 years ago

J'ai rejoué la requête pour bien définir le thesaurus externe. Il ne reste que quelques erreurs au niveau thesaurus infraSIG (4), image

La comparison avec une mtd correctement indexée montre que l'erreur provient de l'ancre et de la date:

image

davinciagf commented 3 years ago

Pour les deux dernières MTD en erreur d'indexation, il faut importer le thesaurus "classification of spatial data services" qui est présent en prod mais pas en test. image

davinciagf commented 3 years ago

@vbombaerts tu fais ou je fais:

vbombaerts commented 3 years ago

J'ai importé le thésaurus "classification of data services", c'est OK. Le problème reste le thésaurus InfraSIG. Si on le met en externe, plus de 1000 fiches sont en erreur (en prod, elles ne le sont pas encore pcq je n'ai pas indexé, mais j'ai vérifié via la BD et de mémoire 1144 fiches renseignent le thésaurus infraSIG en local). Ca implique une correction massive en BD et ça ne fait pas disparaitre le problème pour les ressources de type carte. Après, si on analyse la situation au calme, les 11 fiches problématiques ont été créées le même jour, ne contiennent que très peu d'information et ne sont pas publiées. On peut peut-être juste les laisser comme ça et les reprendre "from scratch" quand on en aura besoin (si demande de publication de la part du gestionnaire).

vbombaerts commented 3 years ago

@davinciagf Je fais la demande au DTIC pour le changement du thésaurus InfraSIG ? Il me semble que tu l'as incluse dans le script pour la prochaine mise à jour. Pour moi ça peut attendre la mise à jour.

davinciagf commented 3 years ago

Oui tu peux. Je vais commenter la ligne dans le script de migration pour le prochain war.

vbombaerts commented 3 years ago

J'ai introduit la demande au DTIC et j'ai modifié en base le thésaurus en test. Le problème avec les ressources de type carte est toujours là.

vbombaerts commented 3 years ago

Les infos thésaurus ont été modifiées en base en prod. Retour à la situation initiale.

fxprunayre commented 2 years ago

:/ J'ai compris ! Ces fiches sont un peu minimaliste et n'ont pas de langue définie et donc on cherche un mot clé dans une langue qui ne correspond pas au thésaurus.

En ajoutant:

   <mdb:defaultLocale>
      <lan:PT_Locale id="FR">
         <lan:language>
            <lan:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="fre"/>
         </lan:language>
         <lan:characterEncoding>
            <lan:MD_CharacterSetCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_CharacterSetCode"
                                     codeListValue=""/>
         </lan:characterEncoding>
      </lan:PT_Locale>
   </mdb:defaultLocale>

ca semble mieux. A tester @vbombaerts - dsl d'avoir mis tant de temps à trouver ça.

vbombaerts commented 2 years ago

Quel crack ! 💯