Registry: Importar coleções iDigBio para GrSciColl

Criado em 5 fev. 2020  ·  12Comentários  ·  Fonte: gbif/registry

Metas)

O que precisa acontecer antes da importação real

Podemos fazer isso em uma ordem diferente, é claro.

1. Vincular entradas iDigBio e GrSciColl

Como iDigBio descreve coleções, provavelmente devemos:

  1. Combine as entradas iDigBio com as coleções GrSciColl (com base no título, código, etc.)
  2. Se nenhuma correspondência for encontrada nas coleções, devemos tentar descobrir se a instituição iDigBio correspondente está disponível no GrSciColl.
  3. Se não encontrarmos nenhuma correspondência nas coleções e instituições do GrSciColl, acho que devemos criar uma instituição e uma coleção anexada a ela (semelhante ao que falamos no caso do Index Herbariorum: https://github.com/gbif /registry/issues/167). Isso faz sentido?

Uma vez que tenhamos uma lista de correspondências, poderíamos adicionar identificadores às entradas do GrSciColl para trabalhar na importação (semelhante ao que fazemos no caso do IH).

Quem deve fazer a correspondência: iDigBio ou GBIF?

Todo mundo provavelmente tem uma ideia de como proceder, mas para acompanhar o que está acontecendo, estou escrevendo aqui as etapas do processo de correspondência:

  • [x] Obtendo os dados do iDigBio (a partir daqui: http://idigbio.github.io/idb-us-collections/collections.json)
  • [x] Obtendo os dados do GrSciColl (provavelmente com a API de coleta )
  • [x] Limpe os dados (usando OpenRefine, por exemplo)
  • [x] Use seu algoritmo favorito para combinar os dados com os campos relevantes.
  • [x] Verifique manualmente as correspondências difusas/suspeitas.

Agora quem vai fazer o quê?

2. Concordar com o mapeamento dos campos iDigBio e GrSciColl

Os modelos entre iDigBio e GrSciColl parecem bastante semelhantes. Aqui está como propomos mapear os campos. Você poderia passar por cima disso e deixar-nos saber se você tem algum comentário?

iDiBio | GrSciColl
-- | --
Instituição | Mapeado para "Instituição" na entidade Acervo e "Nome" se usado cria uma instituição
Coleção | Nome em Coll
Conjuntos de registros | Definir como uma MachineTag (uma vez que é para uso interno) em col
Consulta do conjunto de registros | MachineTag em col
Código da Instituição | Mapeado para "Código" na Instituição
Código de cobrança | Mapeado para "Código" na coleção
Coleção Uuid | Adicionado como um identificador
Coleção Lsid | Adicionado como um identificador
URL da coleção | Página inicial em Coll
Url do Catálogo de Coleções | URL do catálogo em Coll
Descrição | Descrição em Coll
DescriçãoParaEspecialistas | Concatenado à Descrição em Coll (ou novo campo?)
Amostras Catalogadas | Número de Amostras em Coll
KnownToContainTypes | Descartar? (o campo é usado menos de 100 vezes) É necessário para uso interno? Nesse caso, podemos adicioná-lo como uma machineTag.
TaxonCobertura | Cobertura taxonômica em Coll
Alcance Geográfico | Cobertura geográfica em Coll
Extensão da coleção | Descartar? (parece que na maioria dos casos contém uma string com o mesmo valor que cataloguedSpecimens)
Contato | Mapeado para o nome da equipe
Função de contato | Mapeado para a posição da equipe
E-mail de contato | Mapeado para o e-mail da equipe
Endereço de correspondência | Endereço de correspondência em Coll
Cidade de correspondência | Cidade de correspondência em Coll
Estado de envio | Estado de correspondência em Coll
Correio postal | Código postal de correspondência em Coll
Endereço físico | Endereço físico em Coll
Cidade Física | Cidade física em Coll
Estado físico | Estado físico em Coll
CEP físico | Código Postal Físico em Coll
UniqueNameUUID | Adicionado como identificador em inst
AttributionLogoURL | Novo campo?
ProviderManagedID | Adicionado como identificador
Derivado de | Adicionado como MachineTag se for para uso interno?
MesmoAs | Adicionado como identificador
Bandeiras | Adicionado como MachineTag
Exibição do Portal | Adicionado como MachineTag
Lat | Latitude na Instituição
Longo | Longitude na Instituição

3. Decida o que fazer quando houver uma sobreposição entre IH e iDigBio

Como mencionado anteriormente, estamos trabalhando na sincronização do Index Herbariorum e do GrSciColl (https://github.com/gbif/registry/issues/167). Há uma sobreposição parcial entre iDigBio e IH.

O que devemos fazer nesses casos?
Sugiro sobrescrever as informações dos campos fornecidos pelo IH (valor IH sobrescrever valor iDigBio ou GrSciColl) e manter os campos que são apenas do iDigBio.
Se o registro iDigBio for o mais atualizado, criaremos um problema no GitHub e enviaremos a atualização mais recente para o IH.
Isso seria bom?

GRSciColl

Comentários muito úteis

@asturcon Nós pegamos este campo do Audubon Core, mas concordamos que você pode descartar o campo já que não estamos fazendo nada com ele.

Todos 12 comentários

sobre a parte 1:

Quanto a quem executa o trabalho, penso respeitosamente que seria melhor e mais conveniente se o GBIF pudesse dedicar tempo a isso. iDigBio/ACIS IT ainda tem 1 membro da equipe e, apesar de nossos sentimentos de que o produto resultante funcionará muito melhor para todos, não acho que podemos garantir que seremos capazes de nos comprometer com ele tão cedo.

Aqui estão algumas outras notas para a seção 1 desta edição:

  • 1-3 na sua lista fazem sentido, incluindo a solução proposta em 3, caso não sejam encontradas correspondências
  • para correspondência, pode ser possível fazer a correspondência do código da instituição do GBIF ao código da instituição collections.json

  • com base na documentação existente de collections.json (no repo readme), o institution_lsid é mapeado para um "GRBio LSID ou coolURI para a instituição LSID" se encontrado, caso contrário, fica em branco

  • outras correspondências provavelmente precisarão ser algoritmos de correspondência baseados em string. Uma observação potencialmente útil para fins de correspondência/verificação é que o uuid do conjunto de registros em collections.json corresponderá ao uuid do conjunto de registros veiculado por nossa API.

Parte 2:
Os registros individuais em collections.json do iDigBio são registros da Instituição-Coleção. O GBIF divide adequadamente a Instituição e a Coleção em entidades separadas. Veja o diagrama em anexo para a hierarquia pretendida.

unnamed

Nota: existem definições de campo no readme de: https://github.com/iDigBio/idb-us-collections

Comentários sobre mapeamentos individuais:

“UniqueNameUUID Adicionado como identificador” - isso parece ser um UUID de "instituição" em uma hierarquia de registros iDigBio, mas não parece ter sido implementado. Manter como identificador no sistema GBIF.

recordsetQuery: Isso gera um link para o conjunto de registros iDigBio, (ou seja, https://www.idigbio.org/portal/recordsets/ea12da76-1b2e-4944-8709-1de3af1c65e2). Este campo pode ser descartado se você estiver gerando links para o conjunto de registros de outra maneira.

Recordsets - Lembrete: este é nosso objeto pai para registros individuais em nosso sistema

KnownToContainTypes: isso parece bom para descartar.

Collectionextent: pode ser copiado para CatalogedSpecimens onde CatalogedSpecimens está em branco, mas não é necessário manter como um campo separado (descartar).

“attributionLogoURL, providerManagedID, derivadaFrom” - observe que estes são termos do Audubon Core

Sobre a parte 3:

Estamos de acordo com o método proposto de integração de dados IH e iDigBio. Para ajudar a determinar quem é o registro mais recente, IH ou iDigBio, você pode usar a data de confirmação de um arquivo individual no repositório iDigBio como uma data adicionada/modificada.

A maneira como esse repositório funciona é que um humano cria/atualiza um pedaço de json chamado ./collections/{collection_uuid}.json e confirma. O fluxo de trabalho do software executa testes e agrega esse fragmento json no arquivo collections.json completo. Um exemplo de arquivo json individual seria:

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

Nota importante : O arquivo collections.json que realmente é carregado e usado é servido a partir do branch json-index ou gh-pages (ele é enviado para ambos) e não do branch master. Por exemplo:

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

ou

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

Espero que tudo isso ajude. Por favor, sinta-se à vontade para @ nós para perguntas ou esclarecimentos adicionais.

@roncanepa @nrejack Eu estava verificando os mapeamentos e parece que AttributionLogoURL é o único campo iDigBio que está faltando em nosso registro. Mas verifiquei o arquivo collections.json e notei que este campo está sempre vazio. Ainda devemos adicioná-lo ao nosso registro? ou podemos descartá-lo também?

@asturcon Nós pegamos este campo do Audubon Core, mas concordamos que você pode descartar o campo já que não estamos fazendo nada com ele.

Muito obrigado por suas respostas @roncanepa e @nrejack !
Nesse caso, começaremos em [ 1. Vincular entradas iDigBio e GrSciColl ]. Faremos o máximo possível automaticamente e enviaremos a você e ao Cat algumas coisas que podem precisar de verificação manual, tudo bem para você?

Tudo bem comigo, mande embora! Muito obrigado, a todos!!

Ei @CatChapman , Morten tem trabalhado na correspondência de entradas iDigBio e GrSciColl: https://github.com/gbif/registry/issues/187
Acontece que faz mais sentido combinar tudo primeiro com as instituições GrSCiColl porque essas são as entradas para as quais temos muito mais detalhes e identificadores. Então, uma vez que tivéssemos as correspondências para a instituição, poderíamos dar uma olhada nas coleções e combiná-las também.

Morten descreveu todo o seu processo de correspondência e resultados sobre o problema relacionado acima, mas aqui estão os destaques:

  1. Combine as entradas iDigBio com base no IRN
  2. Corresponder às entradas do iDigBio à esquerda com base em outros identificadores
  3. Combine as entradas do iDigBio à esquerda com base no título e no código (observe que os títulos foram processados ​​para facilitar a correspondência)
  4. Combine as entradas iDigBio à esquerda com base na cidade e no código
  5. Combine as entradas do iDigBio com base apenas no título quando não houver código da instituição iDigBio
  6. Combine o título baseado em entradas iDigBio à esquerda (apesar de códigos conflitantes)
  7. Combine manualmente as entradas iDigBio esquerdas

Isso deixa 235 entradas iDigBio sem correspondência para as quais criaríamos novas entradas no GrSciColl.
Agora precisamos de sua ajuda para verificar a correspondência! Você poderia acessar https://github.com/gbif/registry/issues/187 e dar uma olhada no resultado correspondente? (Também podemos fornecer uma planilha se for mais conveniente).

Observe que podemos ter algumas coleções duplicadas no início, pois alguns títulos de coleção podem ser um pouco vagos no GrSciColl e nem sempre temos códigos confiáveis. Não se preocupe, esperamos resolvê-los um pouco mais tarde.

Morten também documentou como esperamos fazer a fusão aqui: https://github.com/gbif/registry/issues/188

@ManonGros UAU! Isso é ótimo. Vocês arrasam, muito.

Uma planilha seria fantástica - acabei de enviar um e-mail para você, então sinta-se à vontade para enviá-la para lá ou criar um link para ela (se for uma planilha do Google etc.) aqui.

Vai dar uma olhada em # 188 agora.

Excelente! Estou adicionando o arquivo CSV separado por tabulação para a correspondência:
iDigBio_GrSciColl_matches_march2020.tsv.zip

Seria ótimo receber de volta seu cheque em um formato legível por máquina. Sugerimos adicionar uma coluna a este arquivo com verdadeiro/falso para cada correspondência, juntamente com uma possível coluna de "correção" com a correspondência correspondente que você acredita ser verdadeira.

Arquivo JSON do Morten atualizado com entrada do CAT:
iDigBio_Morten_matches_AND_Cat_addition.json.zip

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

timrobertson100 picture timrobertson100  ·  9Comentários

MortenHofft picture MortenHofft  ·  5Comentários

MortenHofft picture MortenHofft  ·  24Comentários

marcos-lg picture marcos-lg  ·  11Comentários

timrobertson100 picture timrobertson100  ·  17Comentários