Registry: Импорт коллекций iDigBio в GrSciColl

Созданный на 5 февр. 2020  ·  12Комментарии  ·  Источник: gbif/registry

Цели)

Что должно произойти перед фактическим импортом

Конечно, мы могли бы сделать это в другом порядке.

1. Связать записи iDigBio и GrSciColl

Поскольку iDigBio описывает коллекции, нам, вероятно, следует:

  1. Сопоставьте записи iDigBio с коллекциями GrSciColl (на основе названия, кода и т. д.).
  2. Если в коллекциях не удается найти совпадений, мы должны попытаться выяснить, доступно ли соответствующее учреждение iDigBio в GrSciColl.
  3. Если мы не можем найти совпадения в коллекциях и учреждениях GrSciColl, я думаю, нам следует создать как учреждение, так и прикрепленную к нему коллекцию (аналогично тому, о чем мы говорили в случае с Index Herbariorum: https://github.com/gbif /registry/issues/167). Имеет ли это смысл?

Получив список совпадений, мы можем добавить идентификаторы к записям GrSciColl для работы с импортом (аналогично тому, что мы делаем в случае с IH).

Кто должен проводить сопоставление: iDigBio или GBIF?

Наверное, у каждого есть представление о том, как действовать дальше, но ради отслеживания происходящего я пишу здесь этапы процесса сопоставления:

  • [x] Получение данных из iDigBio (отсюда: http://idigbio.github.io/idb-us-collections/collections.json)
  • [x] Получение данных из GrSciColl (скорее всего через API коллекции )
  • [x] Очистить данные (например, с помощью OpenRefine )
  • [x] Используйте свой любимый алгоритм, чтобы сопоставить данные с соответствующими полями.
  • [x] Проверить вручную нечеткие/подозрительные совпадения.

Теперь кто что будет делать?

2. Согласовать сопоставление полей iDigBio и GrSciColl

Модели между iDigBio и GrSciColl кажутся очень похожими. Вот как мы предлагаем отображать поля. Не могли бы вы вернуться к этому и сообщить нам, если у вас есть какие-либо комментарии?

иДиБио | GrSciColl
-- | --
Учреждение | Сопоставляется с «Учреждением» в объекте «Коллекция» и «Именем», если используется для создания учреждения.
Коллекция | Имя в колл.
наборы записей | Установить как MachineTag (поскольку он предназначен для внутреннего использования) в столбце
Запрос набора записей | MachineTag в коллекции
Код учреждения | Сопоставлен с «Кодексом» в учреждении
Код коллекции | Сопоставлен с «Кодом» в коллекции
Коллекция Уид | Добавлен как идентификатор
Коллекция Лсид | Добавлен как идентификатор
URL коллекции | Домашняя страница в Колле
URL каталога коллекции | URL-адрес каталога в Собрании
Описание | Описание в сборнике
ОписаниеДляСпециалистов | Объединено с описанием в Coll (или новое поле?)
КаталогОбразцы | Количество образцов в коллекции
известные токонтейнтипы | Отказаться? (поле используется менее 100 раз) Нужно ли это для внутреннего использования? В этом случае мы можем добавить его как machineTag.
ТаксонПокрытие | Таксономический охват в Собрании
Географический диапазон | Географический охват в Колле
КоллекцияЭкстенты | Отказаться? (похоже, что в большинстве случаев он содержит строку с тем же значением, что и cataloguedSpecimens)
Контакты | Сопоставлено с именем персонала
Контакт Роль | Сопоставляется с должностью персонала
Контактный адрес электронной почты | Сопоставлено с электронной почтой персонала
Почтовый адрес | Почтовый адрес в Колледже
Почтовый Город | Почтовый город в Колле
Состояние рассылки | Состояние рассылки в собрании
почтовый индекс | Почтовый индекс в Колле
Физический адрес | Физический адрес в коллекции
Физический город | Физический город в Колле
Физическое состояние | Физическое состояние в колле
Физический почтовый индекс | Физический почтовый индекс в Колле
УникальноеИмяUUID | Добавлен как идентификатор в inst
АтрибуцияЛоготипURL | Новое поле?
ProviderManagedID | Добавлен как идентификатор
Получено из | Добавлен как MachineTag, если он предназначен для внутреннего использования?
То же, что и | Добавлен как идентификатор
Флаги | Добавлено как MachineTag
ПорталПоказать | Добавлено как MachineTag
лат | Широта в учреждении
Лон | Долгота в учреждении

3. Решите, что делать, если IH и iDigBio пересекаются

Как упоминалось ранее, мы работаем над синхронизацией Index Herbariorum и GrSciColl (https://github.com/gbif/registry/issues/167). Существует частичное совпадение между iDigBio и IH.

Что нам делать в этих случаях?
Я предлагаю перезаписать информацию для полей, предоставленных IH (значение IH перезаписывает значение iDigBio или GrSciColl) и сохранить только поля, полученные из iDigBio.
Если запись iDigBio является самой последней, мы создадим выпуск GitHub, а затем отправим последнее обновление в IH.
Это было бы нормально?

GRSciColl

Самый полезный комментарий

@asturcon Мы взяли это поле из Audubon Core, но договорились, что вы можете отказаться от этого поля, поскольку мы ничего с ним не делаем.

Все 12 Комментарий

по части 1:

Что касается того, кто выполняет работу, то я со всем уважением считаю, что было бы лучше и наиболее целесообразно, если бы GBIF смог посвятить этому время. iDigBio/ACIS IT по-прежнему не хватает на 1 члена команды, и, несмотря на наше ощущение, что получившийся продукт будет работать намного лучше для всех, я не думаю, что мы можем гарантировать, что сможем зафиксировать его в ближайшее время.

Вот некоторые другие примечания к разделу 1 этого выпуска:

  • 1-3 в вашем списке имеют смысл, включая предлагаемое решение в 3, если совпадений не найдено.
  • для сопоставления может быть возможно сопоставить код учреждения GBIF с кодом учреждения collections.json.

  • на основе существующей документации collections.json (в файле readme репо) institution_lsid сопоставляется с «LSID GRBio или coolURI для LSID учреждения», если он найден, в противном случае он пуст.

  • другие совпадения, вероятно, должны быть основаны на строковых алгоритмах сопоставления. Потенциально полезное примечание для целей сопоставления/проверки заключается в том, что uuid набора записей в collections.json будет соответствовать uuid набора записей, предоставленному нашим API.

Часть 2:
Отдельные записи в collections.json iDigBio являются записями Institution-Collection. GBIF правильно разбивает Учреждение и Коллекцию на отдельные сущности. См. прилагаемую диаграмму для предполагаемой иерархии.

unnamed

Примечание. В файле readme есть определения полей: https://github.com/iDigBio/idb-us-collections .

Комментарии к отдельным сопоставлениям:

«UniqueNameUUID добавлен как идентификатор» — похоже, это предназначено как UUID «учреждения» в иерархии записей iDigBio, но, похоже, не было реализовано. Хранить как идентификатор в системе GBIF.

RecordsetQuery: создает ссылку на набор записей iDigBio (например, https://www.idigbio.org/portal/recordsets/ea12da76-1b2e-4944-8709-1de3af1c65e2). Это поле можно пропустить, если вы создаете ссылки на набор записей другим способом.

Наборы записей — напоминание: это наш родительский объект для отдельных записей в нашей системе.

KnownToContainTypes: от этого можно отказаться.

Collectionextent: может быть скопирован в CatalogedSpecimens, где CatalogedSpecimens пуст, но не требуется сохранять как отдельное поле (отбрасывать).

«attributionLogoURL, providerManagedID, производный от» — обратите внимание, что это термины Audubon Core.

По части 3:

Мы согласны с предложенным методом интеграции данных IH и iDigBio. Чтобы определить, кто является самой последней записью, IH или iDigBio, вы можете использовать дату фиксации для отдельного файла в репозитории iDigBio в качестве даты добавления/изменения.

Этот репозиторий работает следующим образом: человек создает/обновляет фрагмент json с именем ./collections/{collection_uuid}.json и фиксирует его. Затем программный рабочий процесс запускает тесты и объединяет фрагменты json в полный collections.json. Пример отдельного файла json:

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

Важное примечание : файл collections.json , который фактически загружается и используется, обслуживается из ветки json-index или gh-pages (он передается в обе), а не из главной ветки. Например:

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

или

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

Я надеюсь, что все это поможет. Пожалуйста, не стесняйтесь обращаться к нам за дополнительными вопросами или разъяснениями.

@roncanepa @nrejack Я проверял сопоставления и, похоже, AttributionLogoURL — единственное поле iDigBio, которого нет в нашем реестре. Но я проверил файл collections.json и заметил, что это поле всегда пусто. Должны ли мы по-прежнему добавлять его в наш реестр? или мы можем отказаться от него тоже?

@asturcon Мы взяли это поле из Audubon Core, но договорились, что вы можете отказаться от этого поля, поскольку мы ничего с ним не делаем.

Большое спасибо за ваши ответы @roncanepa и @nrejack !
В этом случае мы начнем с [ 1. Связать записи iDigBio и GrSciColl ]. Мы сделаем все возможное автоматически и отправим вам и Кэт кое-что, что может потребовать ручной проверки. Вы согласны?

Хорошо со мной, отпусти! Всем большое спасибо!!

Привет, @CatChapman , Мортен работал над сопоставлением записей iDigBio и GrSciColl: https://github.com/gbif/registry/issues/187 .
Оказывается, имеет смысл сначала сопоставить все с учреждениями GrSCiColl, потому что это записи, для которых у нас есть гораздо больше деталей и идентификаторов. Затем, как только мы получили совпадения для учреждения, мы могли бы взглянуть на коллекции и сопоставить их.

Мортен описал весь свой процесс сопоставления и результаты по проблеме, указанной выше, но вот основные моменты:

  1. Сопоставьте записи iDigBio на основе IRN
  2. Сопоставить левые записи iDigBio на основе других идентификаторов
  3. Сопоставление оставленных записей iDigBio по заголовку и коду (обратите внимание, что заголовки были обработаны для облегчения сопоставления)
  4. Сопоставьте левые записи iDigBio по городу и коду
  5. Совпадение с левыми записями iDigBio, основанными только на заголовке, когда нет кода учреждения iDigBio.
  6. Совпадение с левыми записями iDigBio на основе заголовка (несмотря на конфликтующие коды)
  7. Сопоставить левые записи iDigBio вручную

Это оставляет 235 записей iDigBio несопоставимыми, для которых мы создадим новые записи в GrSciColl.
Теперь нам нужна ваша помощь, чтобы проверить соответствие! Не могли бы вы перейти на https://github.com/gbif/registry/issues/187 и посмотреть на результат сопоставления? (Мы также можем предоставить вам электронную таблицу, если это более удобно).

Обратите внимание, что у нас могут быть некоторые повторяющиеся коллекции в начале, так как некоторые названия коллекций могут быть немного расплывчатыми в GrSciColl, и у нас не всегда есть надежные коды. Не беспокойтесь, мы рассчитываем сгладить их немного позже.

Мортен также задокументировал здесь, как мы ожидаем провести слияние: https://github.com/gbif/registry/issues/188 .

@ManonGros ВАУ! Отлично. Вы, ребята, качаетесь, так сильно.

Электронная таблица была бы фантастической - я только что отправил вам электронное письмо, поэтому не стесняйтесь присылать ее туда или давать ссылку на нее (если это таблица Google и т. д.) здесь.

Сейчас посмотрю №188.

Здорово! Я добавляю CSV-файл, разделенный табуляцией, для сопоставления:
iDigBio_GrSciColl_matches_march2020.tsv.zip

Было бы здорово вернуть ваш чек в машиночитаемом формате. Мы предлагаем добавить в этот файл столбец со значениями true/false для каждого совпадения, а также потенциальный столбец «исправление» с соответствующим совпадением, которое вы считаете верным.

Файл JSON Мортена обновлен с учетом ввода CAT:
iDigBio_Morten_matches_AND_Cat_addition.json.zip

Была ли эта страница полезной?
0 / 5 - 0 рейтинги