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

Doublons dans les liens à la volée #687

Open vbombaerts opened 2 years ago

vbombaerts commented 2 years ago

Describe the bug Sur le géoportail, certaines données liées apparaissent en doublon doublons_gp

Dans la fiche, seule la série "campagne" est encodée comme donnée liée. Les autres liens proviennent d'une routine d'ajout automatique lors de l'appel CSW que fait le GP.

On retrouve cet extrait XML dans la réponse à la requête CSW. On voit que certaines fiches sont mentionnée plusieurs fois.

<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>1df0c962-2d61-4712-be41-c460a17f4cd4</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>89877845-0f25-431b-9218-5ebd54ed0716</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>93e91c8f-d53d-4e36-a993-290070bf2c8c</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>e0b789c3-124d-4b4c-80e3-e55448b1fce0</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>1df0c962-2d61-4712-be41-c460a17f4cd4</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>e0b789c3-124d-4b4c-80e3-e55448b1fce0</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<!-- Added from https://metawal.wallonie.be/geonetwork/srv/api/records/a4c49df8-8e51-4ec2-9be0-9186cb499236/related?type=associated&type=brothersAndSisters -->
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>93e91c8f-d53d-4e36-a993-290070bf2c8c</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="crossReference"/>
</gmd:associationType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>
<gmd:aggregationInfo>
<gmd:MD_AggregateInformation>
<gmd:aggregateDataSetIdentifier>
<gmd:MD_Identifier>
<gmd:code>
<gco:CharacterString>3d3e37f5-3934-4da3-8718-be04b116935c</gco:CharacterString>
</gmd:code>
</gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>
<gmd:associationType>
<gmd:DS_AssociationTypeCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#DS_AssociationTypeCode" codeListValue="partOfSeamlessDatabase"/>
</gmd:associationType>
<gmd:initiativeType>
<gmd:DS_InitiativeTypeCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#DS_InitiativeTypeCode" codeListValue="collection"/>
</gmd:initiativeType>
</gmd:MD_AggregateInformation>
</gmd:aggregationInfo>

Expected behavior Les données liées ne doivent apparaître qu'une seule fois. Contrôle et suppression des doublons.

Additional context Dans l'interface même de Metawal, que ce soit en consultation ou en édition, les fiches liées apparaissent aussi plusieurs fois. On ne sait pas si elles sont liées "en dur" ou à travers les services de "déduction" des liens.

En édition : image

En consultation : image image

fxprunayre commented 2 years ago

CSW query to test https://metawal.wallonie.be/geonetwork/srv/fre/csw?SERVICE=CSW&VERSION=2.0.2&REQUEST=GetRecordById&ID=a4c49df8-8e51-4ec2-9be0-9186cb499236&outputSchema=mw&elementSetName=full

fxprunayre commented 2 years ago

On précise les types de liens image

pour faire la distinction entre:

fxprunayre commented 2 years ago

A déployer.

fxprunayre commented 2 years ago

C'est mieux ? A tester.

vbombaerts commented 2 years ago

oui.

vbombaerts commented 2 years ago

C'est pas encore 100% clair (3 occurrences de la fiche de série) mais on est avec des fiches moissonnées et dans lesquelles les liens n'ont pas encore été checkés. A voir quand on sera en prod.

https://metawal4.valid.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/a4c49df8-8e51-4ec2-9be0-9186cb499236/formatters/xsl-view?root=div&view=advanced

image image

fxprunayre commented 2 years ago

Oui avec des fiches moissonnées, on a des liens qui du coup sont distant (mais aussi en local car on a une copie en locale). C'est distant si le host n'est pas le même dans admin > settings. Peut être quelquechose à améliorer quand on travaillera sur l'API related - supprimer les "doublons"

vbombaerts commented 2 years ago

En prod aussi on a encore qques doublons. A tester plus avant pour définir dans quels cas et ce qui a été encodé dans la fiche parent et dans la fiche enfant.

vbombaerts commented 2 years ago

Pour reproduire :

  1. Dans une fiche de donnée, je lie une série en indiquant la relation "Fait partie de..."
  2. Tout OK dans la fiche de donnée
  3. Dans la fiche de série
    • OK en vue simple
    • En vue complète, la donnée apparait 2 fois : 1 fois comme enfant, 1 fois comme ressource associée. (et dans la réponse ES aussi)
fxprunayre commented 2 years ago

C'est lié au fait qu'on a un lien bidirectionnel - on avait géré ces doublons si c'était des associatedResources dans les 2 directions, mais là, c'est enfant/parent (via le cas particulier partOfSeamlessDb) dans un sens et associatedResources dans l'autre.

image

Sera traiter avec https://github.com/SPW-DIG/metawal-core-geonetwork/issues/719

vbombaerts commented 2 years ago

Déplacé à la version relative aux relations