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

Moissonnage de geo.be #676

Closed vbombaerts closed 2 years ago

vbombaerts commented 2 years ago

Lorsqu'on moissonne une fiche provenant de l'IGN, on récupère une fiche ISO19139 mulitlingue.

Le GP ne gère pas les fiches multilingues. image

Donc on voudrait faire une modification post-moissonnage pour rendre la fiche unilingue. Accessoirement on voudrait remapper/supprimer/ajouter certaines infos.

La piste d'une édition en série définie au point de moissonnage a été évoquée en réunion. C'est un mécanisme utilisé à l'IFREMER.

vbombaerts commented 2 years ago

Exemples de balises multilingues

               <gmd:title xsi:type="gmd:PT_FreeText_PropertyType">
                  <gco:CharacterString>CartoWeb.be</gco:CharacterString>
                  <gmd:PT_FreeText>
                     <gmd:textGroup>
                        <gmd:LocalisedCharacterString locale="#EN">CartoWeb.be</gmd:LocalisedCharacterString>
                     </gmd:textGroup>
                     <gmd:textGroup>
                        <gmd:LocalisedCharacterString locale="#FR">CartoWeb.be</gmd:LocalisedCharacterString>
                     </gmd:textGroup>
                     <gmd:textGroup>
                        <gmd:LocalisedCharacterString locale="#NL">CartoWeb.be</gmd:LocalisedCharacterString>
                     </gmd:textGroup>
                     <gmd:textGroup>
                        <gmd:LocalisedCharacterString locale="#DE">CartoWeb.be</gmd:LocalisedCharacterString>
                     </gmd:textGroup>
                  </gmd:PT_FreeText>
               </gmd:title>
         <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType">
            <gco:CharacterString>National Geographic Institute</gco:CharacterString>
            <gmd:PT_FreeText>
               <gmd:textGroup>
                  <gmd:LocalisedCharacterString locale="#EN">National Geographic Institute</gmd:LocalisedCharacterString>
               </gmd:textGroup>
               <gmd:textGroup>
                  <gmd:LocalisedCharacterString locale="#FR">Institut géographique national</gmd:LocalisedCharacterString>
               </gmd:textGroup>
               <gmd:textGroup>
                  <gmd:LocalisedCharacterString locale="#NL">Nationaal Geografisch Instituut</gmd:LocalisedCharacterString>
               </gmd:textGroup>
               <gmd:textGroup>
                  <gmd:LocalisedCharacterString locale="#DE">Nationales geographisches Institut</gmd:LocalisedCharacterString>
               </gmd:textGroup>
            </gmd:PT_FreeText>
         </gmd:organisationName>
vbombaerts commented 2 years ago

On souhaite moissonner de façon plus systématique le catalogue geo.be pour les données concernant le territoire wallon

vbombaerts commented 2 years ago

@vbombaerts Faire une analyse comparative du contenu des fiches geo.be et Metawal pour repérer les ajouts/modifications dans le script

fxprunayre commented 2 years ago

Cf. https://github.com/titellus/core-geonetwork/pull/142. Configurer le moissonneur avec ISO19139-to-ISO19115-3-2018-with-languages-refactor?defaultLanguage=fre&others=none pour rendre la fiche monolingue en français.

A déployer et tester.

fxprunayre commented 2 years ago

A vérifier https://metawal4.test.wallonie.be/geonetwork/srv/eng/admin.console#/harvest

image

vbombaerts commented 2 years ago

Comparaison d'une fiche de service moissonnée du portail geo.be

Trois observations :

  1. Lorsque dans la fiche originale multilingue la valeur pour le fr est vide, le champ dans la fiche unilingue est vide. Est-il possible d'avoir un mécanisme qui va alors chercher la valeur de la langue par défaut ? Ex: Le nom des thésaurus n'est indiqué que dans la langue par défaut, le mot-clé infoMapAccessService n'est présent qu'en anglais. 2022-02-25 13_17_22-Window 2022-02-25 13_17_51-Window 2022-02-25 13_18_06-Window

2022-02-25 13_33_59-Window 2022-02-25 13_33_45-Window 2022-02-25 13_34_11-Window

  1. Mots-clés : Comportement bizarre pour le thésaurus INSPIRE : aucune valeur en 19139 et 19115 multilingue (les valeurs sont présentes dans le xml) et deux valeurs pour l'ISO 19115-unilingue 2022-02-25 13_37_35-Window 2022-02-25 13_37_27-Window 2022-02-25 13_37_57-Window

  2. Qualité-Conformité INSPIRE : perte de l'URL qui référence la spécification 2022-02-25 13_55_39-Window 2022-02-25 13_55_58-Window 2022-02-25 13_56_16-Window

Si metawal4.test revient je testerai une fiche de donnée.

EDIT : J'ai oublié de tester la section métadonnées - je l'ai testée au niveau d'une fiche de donnée.

vbombaerts commented 2 years ago

Analyse de la conversion sur une fiche de donnée issue de geo.be

Remarques

  1. Si pas de valeur encodée pour la langue choisie, utiliser la valeur de la langue par défaut (mots-clés, nom thésaurus, nom et description des ressources en ligne etc) image image image

  2. Mot-clé "INSPIRE feature concept dictionnary" : aucune valeur n'apparait pour 19139 et 19115 multilingue, mais elles apparaissent pour le 19115fr image image image

  3. Encodage de caractères : UTF8 devient 8859part1 image image image

  4. Section métadonnées : ISO 19115 multilingue : la langue par défaut (anglais) est répétée en langue supplémentaire image image

  5. La norme de métadonnées devrait être forcée si on fait une transformation

  6. Le lien vers la métadonnée originale devrait pointer vers le catalogue source et pas Metawal (ou lie lien vers la référence de métadonnée alternative, il faut que je revoie les définitions de l'ISO.)

vbombaerts commented 2 years ago

Et surtout, première remarque : Travail incroyable, merci beaucoup !!!

vbombaerts commented 2 years ago

@vbombaerts Un point qui reste à tester est si lors de l'import de groupes de fiches liées entre-elles dans le catalogue source, les liaisons sont préservées.

fxprunayre commented 2 years ago

Si pas de valeur encodée pour la langue choisie, utiliser la valeur de la langue par défaut (mots-clés, nom thésaurus, nom et description des ressources en ligne etc)

C'est bizarre non de mélanger les langues ?

Mot-clé "INSPIRE feature concept dictionnary" : aucune valeur n'apparait pour 19139 et 19115 multilingue, mais elles apparaissent pour le 19115fr

C'est lié à la recherche du thésaurus. Le libellé n'étant qu'en anglais "INSPIRE feature concept dictionary", une fois la fiche en FR, il ne trouve plus le thésaurus. Ça pourrait faire pencher pour le cas précédent de mettre la langue par défaut dans la nouvelle langue par défaut s'il n'y a pas de valeur...

Encodage de caractères : UTF8 devient 8859part1

C'est bizarre dans le XML c'est bien UTF8. https://metawal4.test.wallonie.be/geonetwork/srv/api/records/1e76e6f4-f4fb-4541-a8b4-1a940bdd56b8/formatters/xml

Section métadonnées : ISO 19115 multilingue : la langue par défaut (anglais) est répétée en langue supplémentaire

Dans GN on fait ça pour pouvoir gérer des annuaires multilingues.

La norme de métadonnées devrait être forcée si on fait une transformation

C'est pas prévu par la conversion 139 > 115-3. A ajouter sans doute.

Le lien vers la métadonnée originale devrait pointer vers le catalogue source et pas Metawal (ou lie lien vers la référence de métadonnée alternative, il faut que je revoie les définitions de l'ISO.)

C'est pas une notion qui existe en 139 donc c'est un peu compliqué ... Ce serait peut être plus une notion à "calculer" pour les fiches moissonnées ...

vbombaerts commented 2 years ago

Si pas de valeur encodée pour la langue choisie, utiliser la valeur de la langue par défaut (mots-clés, nom thésaurus, nom et description des ressources en ligne etc)

C'est bizarre non de mélanger les langues ?

C'est peut-être mieux d'avoir une valeur en langue par défaut que rien, non ? Si la valeur fr n'est pas présente, c'est peut-être que l'éditeur de la fiche juge que ce n'est pas nécessaire de traduire car c'est compréhensible ou c'est une valeur technique. Si on veut pouvoir décider si on laisse blanc ou si on force la valeur par défaut, c'est peut-être un paramètre à ajouter à la transformation ?

La norme de métadonnées devrait être forcée si on fait une transformation

C'est pas prévu par la conversion 139 > 115-3. A ajouter sans doute.

Le lien vers la métadonnée originale devrait pointer vers le catalogue source et pas Metawal (ou lie lien vers la référence de métadonnée alternative, il faut que je revoie les définitions de l'ISO.)

C'est pas une notion qui existe en 139 donc c'est un peu compliqué ... Ce serait peut être plus une notion à "calculer" pour les fiches moissonnées ...

Oui, 2 notions à ajouter dans la conversion 139 vers 115-3

fxprunayre commented 2 years ago

C'est peut-être mieux d'avoir une valeur en langue par défaut que rien, non ?

Ajout d'une option pour la copie de la valeur de l'ancienne langue principale si la valeur est vide ISO19139-to-ISO19115-3-2018-with-languages-refactor?defaultLanguage=fre&others=ger,eng&copyPreviousDefaultIfEmpty=true

vbombaerts commented 2 years ago

Je n'arrive plus à éditer les paramètres de la transformation dans la définition du moissonneur.

bfrichet3 commented 2 years ago

@vbombaerts et @fxprunayre ,

les valeurs qui manquent en locale correspondent à des erreurs ou à des manquements dans le template de nos fiches et effectivement, le contenu était néanmoins jugé intelligible en l'état.

Je vais faire corriger cela dans les meilleurs délais.

Bonne journée

vbombaerts commented 2 years ago

@fxprunayre Dans les fiches originales TransStat, certaines valeurs sont encodées à la fois en Anchor et FreeText. C'est correct comme ça ? Parce que du coup la même valeur est répétée 2 fois pour ces éléments.

Fiche originale : https://www.geo.be/metadataServices/rest/catalogs/1/resources/790547ae-fe75-11eb-b7c8-7478273ff935/xml

<gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
<gmx:Anchor xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.iana.org/assignments/media-types/text/csv">CSV</gmx:Anchor>
<gmd:PT_FreeText>
<gmd:textGroup>
<gmd:LocalisedCharacterString locale="#EN">CSV</gmd:LocalisedCharacterString>
</gmd:textGroup>
</gmd:PT_FreeText>
</gmd:name>

Moissonnage MW : https://metawal4.valid.wallonie.be/geonetwork/srv/api/records/790547ae-fe75-11eb-b7c8-7478273ff935/formatters/xml?approved=true

<cit:title xsi:type="gmd:PT_FreeText_PropertyType">
<gcx:Anchor xlink:href="https://www.iana.org/assignments/media-types/text/csv">CSV</gcx:Anchor>
<gcx:PT_FreeText>CSV</gcx:PT_FreeText>
</cit:title>

image

Idem dans le GP image

fxprunayre commented 2 years ago

C'est correct comme ça ?

Non, du coup c'est lié à la transformation des langues ?

vbombaerts commented 2 years ago

C'est encodé comme ça dans la fiche originale en ISO 19139 sur geo.be Donc j'imagine que c'est une erreur sur geo.be.

fxprunayre commented 2 years ago

Non l'encodage geo.be est bon - on peut substituer un CharacterString par une Anchor. Par contre quand on supprime les traductions, on devrait pas avoir l'élément gcx:PT_FreeText. Je vais regarder.

vbombaerts commented 2 years ago

Les fiches moissonnées de geo.be apparaissent correctement dans l'interface Metawal mais impossible de les trouver dans l'interface Kibana. Une idée ?

https://metawal4.test.wallonie.be/geonetwork/srv/fre/catalog.search#/search?isTemplate=n&resourceTemporalDateRange=%7B%22range%22:%7B%22resourceTemporalDateRange%22:%7B%22gte%22:null,%22lte%22:null,%22relation%22:%22intersects%22%7D%7D%7D&sortBy=relevance&from=1&to=30&languageStrategy=searchInThatLanguage:fre&any=transstat

https://metawal4.test.wallonie.be/geonetwork/dashboards/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15y,to:now))&_a=(columns:!(),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:gn-records,key:tag.default,negate:!f,params:(query:TransStat),type:phrase),query:(match_phrase:(tag.default:TransStat)))),index:gn-records,interval:auto,query:(language:kuery,query:''),sort:!(!(dateStamp,desc)))

fxprunayre commented 2 years ago

La requête GN est

GET _search
{
  "query": {
  "query_string": {
    "query": "(any.langfre:(transstat) OR any.common:(transstat) OR resourceTitleObject.langfre:(transstat)^2 OR resourceTitleObject.langfre:\"transstat\"^6)"
  }
  }
}

ça

GET _search
{
  "query": {
    "query_string": {
      "default_field": "",
      "query": """any.\*:transstat"""
    }
  }
}

marche aussi

Mais dans l'interface, toujours 1 seule fiche ! any.*:transstat ne fonctionne pas non plus.

GET _search
{
  "_source": [
    "dateStamp"], 
  "query": {
  "query_string": {
    "query": "(any.langfre:(transstat) OR any.common:(transstat))"
  }
  }
}

En fait y'a pas de dateStamp, c'est normal ? Donc pas de match dans la période.

vbombaerts commented 2 years ago

Dans les fiches moissonnées 19115-3, il n'y a pas de date de révision pour la fiche. Uniquement une date de création. Dans les fiches originales 19139, on a un datestamp qui correspond à la date de dernière mise à jour de la fiche.

==> Probablement qu'il faut modifier le mapping ISO 19139 --> ISO 19115-3 pour ajouter le datestamp dans la date de révision. Je ne sais pas si il faut du coup le retirer de la date de création ; je ne sais pas par qui/quoi cette valeur est utilisée.

Autre possibilité : définir le champ temporel de l'index comme la date de création de la fiche et non sa date de révision

vbombaerts commented 2 years ago

Création d'un nouveau ticket pour le problème du datestamp