Registry: Importer des collections iDigBio dans GrSciColl

Créé le 5 févr. 2020  ·  12Commentaires  ·  Source: gbif/registry

Buts)

Ce qui doit se passer avant l'importation proprement dite

Nous pourrions bien sûr les faire dans un ordre différent.

1. Liez les entrées iDigBio et GrSciColl

Puisque iDigBio décrit des collections, nous devrions probablement :

  1. Faites correspondre les entrées iDigBio aux collections GrSciColl (basées sur le titre, le code, etc.)
  2. Si aucune correspondance ne peut être trouvée dans les collections, nous devrions essayer de savoir si l'institution iDigBio correspondante est disponible dans GrSciColl.
  3. Si nous ne trouvons aucune correspondance dans les collections et les institutions GrSciColl, je pense que nous devrions créer à la fois une institution et une collection qui lui est attachée (similaire à ce dont nous avons parlé dans le cas d'Index Herbariorum : https://github.com/gbif /registre/questions/167). Est-ce que ça fait du sens?

Une fois que nous avons une liste de correspondances, nous pourrions ajouter des identifiants aux entrées GrSciColl pour travailler sur l'importation (similaire à ce que nous faisons dans le cas d'IH).

Qui doit faire le matching : iDigBio ou GBIF ?

Tout le monde a probablement une idée sur la façon de procéder, mais pour suivre ce qui se passe, j'écris ici les étapes du processus d'appariement :

  • [x] Obtenir les données d'iDigBio (d'ici : http://idigbio.github.io/idb-us-collections/collections.json)
  • [x] Obtenir les données de GrSciColl (probablement avec l'API de collecte )
  • [x] Nettoyer les données (en utilisant OpenRefine par exemple)
  • [x] Utilisez votre algorithme préféré pour faire correspondre les données avec les champs pertinents.
  • [x] Vérifiez manuellement les correspondances floues/suspectes.

Maintenant qui va faire quoi ?

2. S'accorder sur le mappage des champs iDigBio et GrSciColl

Les modèles entre iDigBio et GrSciColl semblent assez similaires. Voici comment nous proposons de cartographier les champs. Pourriez-vous passer en revue cela et nous faire savoir si vous avez des commentaires?

iDiBio | GrSciColl
-- | --
Établissement | Mappé sur "Institution" dans l'entité Collection et "Nom" si utilisé pour créer une institution
Collecte | Nom en Coll
Jeux d'enregistrements | Définir comme MachineTag (puisqu'il est à usage interne) dans coll
RecordsetQuery | MachineTag dans la colle
Code de l'établissement | Mappé sur "Code" dans l'établissement
Code de collecte | Mappé sur "Code" dans la collection
Collection Uuid | Ajouté comme identifiant
Collection Lsid | Ajouté comme identifiant
URL de collecte | Page d'accueil dans Coll
URL du catalogue de collection | URL du catalogue dans Coll
Descriptif | Description en coll.
DescriptionPour les spécialistes | Concaténé à Description dans Coll (ou nouveau champ ?)
Spécimens catalogués | Nombre d'échantillons dans Coll
KnownToContainTypes | Jeter? (le champ est utilisé moins de 100 fois) Est-ce nécessaire pour un usage interne ? Dans ce cas, nous pouvons l'ajouter en tant que machineTag.
Couverture des taxons | Couverture taxonomique à Coll
Portée géographique | Couverture géographique à Coll
CollectionExtent | Jeter? (il semble que dans la plupart des cas, il contienne une chaîne avec la même valeur que catalogedSpecimens)
Contactez-nous | Mappé au nom du personnel
Rôle de contact | Mappé à la position du personnel
Courriel de contact | Mappé sur l'e-mail du personnel
Adresse postale | Adresse postale à Coll
Ville postale | Ville postale à Coll
État d'envoi | État d'envoi dans Coll
Envoi postal | Code postal d'envoi à Coll
Adresse physique | Adresse physique à Coll
Ville physique | Ville physique à Coll
État physique | État physique à Coll
Zip physique | Code postal physique à Coll
UniqueNameUUID | Ajouté comme identifiant dans inst
AttributionLogoURL | Nouveau champ?
FournisseurManagedID | Ajouté comme identifiant
DérivéDe | Ajouté en tant que MachineTag s'il s'agit d'un usage interne ?
Identique à | Ajouté comme identifiant
Drapeaux | Ajouté en tant que MachineTag
PortailAfficher | Ajouté en tant que MachineTag
Lat | Latitude dans l'établissement
Lon | Longitude dans l'établissement

3. Décidez quoi faire en cas de chevauchement entre IH et iDigBio

Comme mentionné précédemment, nous travaillons à la synchronisation d'Index Herbariorum et de GrSciColl (https://github.com/gbif/registry/issues/167). Il existe un chevauchement partiel entre iDigBio et IH.

Que devons-nous faire dans ces cas ?
Je suggère d'écraser les informations des champs fournis par IH (la valeur IH écrase la valeur iDigBio ou GrSciColl) et de conserver les champs qui proviennent uniquement d'iDigBio.
Si l'enregistrement iDigBio est le plus à jour, nous créons un problème GitHub, puis envoyons la dernière mise à jour à IH.
Est-ce que ça irait?

GRSciColl

Commentaire le plus utile

@asturcon Nous avons récupéré ce champ d'Audubon Core, mais nous avons convenu que vous pouvez supprimer le champ car nous ne faisons rien avec.

Tous les 12 commentaires

concernant la partie 1 :

En ce qui concerne qui effectue le travail, je pense respectueusement qu'il serait préférable et plus opportun que le GBIF puisse consacrer du temps à cela. iDigBio/ACIS IT est encore à court d'un membre de l'équipe et, malgré notre sentiment que le produit résultant fonctionnera beaucoup mieux pour tout le monde, je ne pense pas que nous puissions garantir que nous serions en mesure de nous y engager de si tôt.

Voici quelques autres notes pour la section 1 de ce numéro :

  • 1-3 sur votre liste ont du sens, y compris la solution proposée en 3 si aucune correspondance ne peut être trouvée
  • pour la correspondance, il pourrait être possible de faire correspondre le code de l'institution GBIF au code de l'institution collections.json

  • basé sur la documentation existante de collections.json (dans le fichier readme du dépôt), le institution_lsid est mappé à un "GRBio LSID ou coolURI pour le LSID de l'institution" s'il est trouvé, sinon il est vide

  • d'autres correspondances devront probablement être des algorithmes de correspondance basés sur des chaînes. Une note potentiellement utile à des fins de correspondance/vérification est que l'uuid du jeu d'enregistrements dans collections.json correspondra à l'uuid du jeu d'enregistrements servi à partir de notre API.

Partie 2:
Les enregistrements individuels dans le fichier collections.json d'iDigBio sont des enregistrements Institution-Collection. Le GBIF divise correctement l'institution et la collection en entités distinctes. Voir le diagramme ci-joint pour la hiérarchie prévue.

unnamed

Remarque : il existe des définitions de champs dans le fichier readme de : https://github.com/iDigBio/idb-us-collections

Commentaires sur les mappages individuels :

"UniqueNameUUID ajouté comme identifiant" - cela semble être conçu comme un UUID "institution" dans une hiérarchie d'enregistrements iDigBio mais ne semble pas avoir été implémenté. Conserver comme identifiant dans le système GBIF.

recordsetQuery : Cela génère un lien vers le jeu d'enregistrements iDigBio (c'est-à-dire https://www.idigbio.org/portal/recordsets/ea12da76-1b2e-4944-8709-1de3af1c65e2). Ce champ peut être ignoré si vous générez des liens vers le jeu d'enregistrements d'une autre manière.

Recordsets - Rappel : il s'agit de notre objet parent pour les enregistrements individuels dans notre système

KnownToContainTypes : cela semble acceptable de jeter.

Collectionextent : peut être copié dans CatalogedSpecimens où CatalogedSpecimens est vide, mais il n'est pas nécessaire de le conserver en tant que champ séparé (jeter).

"attributionLogoURL, providerManagedID, deriveFrom" - notez qu'il s'agit de termes Audubon Core

Concernant la partie 3 :

Nous sommes d'accord avec la méthode proposée d'intégration des données IH et iDigBio. Pour vous aider à déterminer qui est l'enregistrement le plus récent, IH ou iDigBio, vous pouvez utiliser la date de validation d'un fichier individuel dans le dépôt iDigBio comme date ajoutée/modifiée.

La façon dont ce référentiel fonctionne est qu'un humain crée/met à jour un morceau de json nommé ./collections/{collection_uuid}.json et valide. Le flux de travail logiciel exécute ensuite des tests et agrège ce morceau json dans le fichier collections.json complet. Un exemple de fichier json individuel serait :

https://github.com/iDigBio/idb-us-collections/blob/master/collections/001c5234-048b-11e5-b0ee-002315492bbc

Remarque importante : Le fichier collections.json qui est réellement chargé et utilisé est servi à partir de la branche json-index ou gh-pages (il est envoyé aux deux) et non à la branche principale. Par exemple:

https://raw.githubusercontent.com/iDigBio/idb-us-collections/json-index/collections.json

ou

http://idigbio.github.io/idb-us-collections/collections.json

J'espère que tout cela aide. N'hésitez pas à @ nous pour des questions supplémentaires ou des éclaircissements.

@roncanepa @nrejack Je vérifiais les mappages et on dirait que AttributionLogoURL est le seul champ iDigBio qui nous manque dans notre registre. Mais j'ai vérifié le fichier collections.json et j'ai remarqué que ce champ est toujours vide. Doit-on quand même l'ajouter à notre registre ? ou on peut le jeter aussi ?

@asturcon Nous avons récupéré ce champ d'Audubon Core, mais nous avons convenu que vous pouvez supprimer le champ car nous ne faisons rien avec.

Merci beaucoup pour vos réponses @roncanepa et @nrejack !
Dans ce cas, nous commencerons par [ 1. Lier les entrées iDigBio et GrSciColl ]. Nous ferons autant que possible automatiquement et vous enverrons, à vous et à Cat, certaines choses qui pourraient nécessiter une vérification manuelle, est-ce que cela vous convient ?

Ça me va, renvoyez ! Merci beaucoup, tout le monde !!

Hey @CatChapman , Morten a travaillé sur la correspondance des entrées iDigBio et GrSciColl : https://github.com/gbif/registry/issues/187
Il s'avère qu'il est plus logique de tout faire correspondre d'abord aux institutions GrSCiColl car ce sont les entrées pour lesquelles nous avons beaucoup plus de détails et d'identifiants. Ensuite, une fois que nous avons obtenu les correspondances pour l'institution, nous pourrions jeter un coup d'œil aux collections et les faire correspondre également.

Morten a décrit l'ensemble de son processus d'appariement et ses résultats sur le problème lié ci-dessus, mais voici les points saillants :

  1. Faites correspondre les entrées iDigBio en fonction de l'IRN
  2. Faites correspondre les entrées iDigBio de gauche en fonction d'autres identifiants
  3. Faites correspondre les entrées iDigBio de gauche en fonction du titre et du code (notez que les titres ont été traités pour faciliter la correspondance)
  4. Faites correspondre les entrées iDigBio de gauche en fonction de la ville et du code
  5. Faites correspondre les entrées iDigBio de gauche en fonction du titre seul lorsqu'il n'y a pas de code d'institution iDigBio
  6. Faire correspondre le titre basé sur les entrées iDigBio de gauche (malgré les codes contradictoires)
  7. Faire correspondre manuellement les entrées iDigBio de gauche

Cela laisse 235 entrées iDigBio sans correspondance pour lesquelles nous créerions de nouvelles entrées dans GrSciColl.
Nous avons maintenant besoin de votre aide pour vérifier la correspondance ! Pourriez-vous aller sur https://github.com/gbif/registry/issues/187 et jeter un œil au résultat correspondant ? (Nous pouvons également vous fournir une feuille de calcul si cela est plus pratique).

Notez que nous pourrions avoir des collections en double au début car certains titres de collection peuvent être un peu vagues dans GrSciColl et nous n'avons pas toujours des codes fiables. Pas de soucis, nous prévoyons de les aplanir un peu plus tard.

Morten a également documenté comment nous prévoyons de faire la fusion elle-même ici : https://github.com/gbif/registry/issues/188

@ManonGros WAOUH ! C'est bien. Vous rockez, tellement.

Une feuille de calcul serait fantastique - je viens de vous envoyer un e-mail, alors n'hésitez pas à l'envoyer là-bas, ou à créer un lien vers celle-ci (s'il s'agit d'une feuille Google, etc.) ici.

Je vais jeter un coup d'œil au #188 maintenant.

Super! J'ajoute le fichier CSV séparé par des tabulations pour la correspondance :
iDigBio_GrSciColl_matches_march2020.tsv.zip

Ce serait formidable de récupérer votre chèque dans un format lisible par machine. Nous suggérons d'ajouter une colonne à ce fichier avec vrai/faux pour chaque correspondance ainsi qu'une colonne de "correction" potentielle avec la correspondance correspondante que vous pensez être vraie.

Fichier JSON de Morten mis à jour avec la contribution de CAT :
iDigBio_Morten_matches_AND_Cat_addition.json.zip

Cette page vous a été utile?
0 / 5 - 0 notes