Skip to content
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

Eviter de créer un doublon lors du moissonnage si le remote ID est une URI et existe déjà #1587

Open
maudetes opened this issue Nov 26, 2024 · 4 comments · May be fixed by opendatateam/udata#3219
Assignees
Labels
💙 Back Les tickets de back Moissonnage Indique que le sujet touche au moissonnage

Comments

@maudetes
Copy link
Contributor

maudetes commented Nov 26, 2024

Voir la logique de récupération OU création d'un dataset à partir du remote id : https://github.com/opendatateam/udata/blob/bfeae1b6a1d0d33c29485a2feae012db69eec38f/udata/harvest/backends/base.py#L387.

Aujourd'hui, un remote_id déjà existant ne suffit pas à raccrocher à un JDD existant.
Il faut aussi que le domaine ou le point de moissonnage soit le même.

Si l'identifiant remote_id est une URI, il est donc supposé unique au-delà de sa propre plateforme.
On devrait alors raccrocher le jeu de données à l'existant.

Exemple de duplicats alors que le remote_id est le même, mais les plateformes sont distinctes :

@maudetes maudetes converted this from a draft issue Nov 26, 2024
@maudetes maudetes added Moissonnage Indique que le sujet touche au moissonnage 💙 Back Les tickets de back labels Nov 26, 2024
@magopian
Copy link

magopian commented Dec 4, 2024

Si l'identifiant remote_id est une URI

Juste pour être sûr de bien comprendre, si on valide que remote_id est une URL valide, alors on suppose que c'est un ID unique, et on ne vérifie pas le domaine ni le point de moissonnage.

Est-ce qu'on veut :

  • donner la priorité à un domaine ou à un point de moissonnage, ou est-ce qu'on continue à prendre le .first() ?
  • dé-dupliquer les datasets déjà moissonnés et créés ?

@streino
Copy link

streino commented Dec 4, 2024

Je profite de ce ticket pour mentionner la suggestion de Géo-IDE d'ignorer le domaine pour la détection de doublon, et donc ne se baser que sur la partie ID de l'URI.

Géo-IDE a récemment changé de base URL pour ses identifiants et on se retrouve régulièrement avec des fiches doublonnées à mesure que les anciens identifiants sont remplacés. Je ne sais pas exactement comment fonctionne le remplacement mais ça a l'air d'être progressif (lorsqu'une fiche est mise à jour ?), donc on va encore avoir ce genre de problème un certain temps.

Plus généralement, si en théorie l'URI est sensée être persistente, en pratique ça n'est pas garanti sans l'appui d'un véritable système de registre (qui n'existe pas à l'échelle FR). La plupart des URI qui nous concernent étant basées sur l'URL de catalogue, la persistence n'est pas garantie. On risque par exemple d'avoir le problème sur DatARA l'an prochain, qui il me semble va changer de nom de domaine. Je doute qu'il y ait un plan pour maintenir des redirections ad vitam, et même si c'était le cas, il faudrait savoir les gérer dans le dédoublonnage.

S'il est souhaitable dans les cas ci-dessus de considérer que seule la partie ID d'une URI fait foi, j'ai du mal à voir comment ça pourrait être traité de manière générique sur data.gouv : 1) il faudrait pouvoir extraire de manière fiable l'ID d'une URI arbitraire, et 2) il faudrait être certain de l'unicité de l'ID extraite.

Bref, pour info.

magopian added a commit to opendatateam/udata that referenced this issue Dec 5, 2024
@maudetes maudetes moved this from 📝 Todo to 👀 Review in 🚀 Produit data.gouv.fr Dec 9, 2024
@maudetes
Copy link
Contributor Author

J'ai du mal à voir une solution magique pour gérer la non stabilité des identifiants des plateformes.
Dans l'univers des plateformes moissonnées, il y a les cas où le nom de domaine change, mais aussi souvent un changement de plateforme avec juste de nouveaux identifiants (from uuid to slug, etc.).

Je pense qu'on pourrait apporter des outils pour pouvoir faire leur appariement quand c'est le cas, mais j'ai moins de foi dans une solution magique.
Permettre de rajouter une liste d'identifiants (à la adms:identifier) pourrait aider aussi à enlever le soucis de synchro du changement.

@streino
Copy link

streino commented Dec 10, 2024

Permettre de rajouter une liste d'identifiants (à la adms:identifier) pourrait aider aussi à enlever le soucis de synchro du changement.

Ça serait propre ! Reste à savoir si les catalogues source seraient capables d'exposer une liste d'identifiants, ou s'il faudrait une intervention explicite côté data.gouv.

Si c'est une evol envisageable, je peux me renseigner côté Géo-IDE et Geonetwork.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💙 Back Les tickets de back Moissonnage Indique que le sujet touche au moissonnage
Projects
Status: 👀 Review
Development

Successfully merging a pull request may close this issue.

3 participants