Как объединить два Древа в одно?

Перед тем, как задать вопрос, ознакомьтесь с ответами на часто задаваемые вопросы и со Справкой. Пожелания пишем на reformal.ru

Модераторы: Genery, Elena Polyanskikh

Ответить
Сообщение
Автор
РоманП
Сообщения: 1
Зарегистрирован: 12 май 2020 19:24

Re: Как объединить два Древа в одно?

#106 Сообщение РоманП » 12 май 2020 20:13

Честно прочитал всю ветку, но не понял...
Итак - 2 родственника сделали с ноля 2 базы. Базы (по персонам) пересекаются процентов на 40. В 90% записи персон идентичны (источники одни), отличаются только связи/события (а в половине случаев полностью идентичны).
Как объединить базы?

Я понял, что единственный вариант - удалить всех общих персон из второй базы и добавить её в первую. Недостающие события как-то выявить и добавить руками.
Верно?

Аватара пользователя
hippocamus
Сообщения: 1045
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#107 Сообщение hippocamus » 12 май 2020 20:16

РоманП писал(а): 12 май 2020 20:13 Честно прочитал всю ветку, но не понял...
Итак - 2 родственника сделали с ноля 2 базы. Базы (по персонам) пересекаются процентов на 40. В 90% записи персон идентичны (источники одни), отличаются только связи/события (а в половине случаев полностью идентичны).
Как объединить базы?

Я понял, что единственный вариант - удалить всех общих персон из второй базы и добавить её в первую. Недостающие события как-то выявить и добавить руками.
Верно?
Верно.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

axez
Сообщения: 19
Зарегистрирован: 24 июл 2008 12:10
Контактная информация:

Re: Как объединить два Древа в одно?

#108 Сообщение axez » 12 май 2020 20:38

Вот это плохо и ужасает!
Это просто, если два дерева и 50-100 персон а если тысячи и есть несколько разных деревьев.
Вот у меня, например бывали глюки то с железом, то с "головой", думал веду одну базу, а вёл две по факту, плюс пытался что-то восстановить.
Теперь мешанина из нескольких баз и какую брать, как основную и что дальше делать... просто руки опускаются
https://yadi.sk/d/0-j_yZt2dG6UWw

Аватара пользователя
hippocamus
Сообщения: 1045
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#109 Сообщение hippocamus » 12 май 2020 21:23

axez писал(а): 12 май 2020 20:38 Вот это плохо и ужасает!
Это просто, если два дерева и 50-100 персон а если тысячи и есть несколько разных деревьев.
Вот у меня, например бывали глюки то с железом, то с "головой", думал веду одну базу, а вёл две по факту, плюс пытался что-то восстановить.
Теперь мешанина из нескольких баз и какую брать, как основную и что дальше делать... просто руки опускаются
https://yadi.sk/d/0-j_yZt2dG6UWw
Жаль вас, но такова жизнь. Нет нормальных алгоритмов слияния.
Могу только порекомендовать Family Tree Builder - она хорошо ищет дубликаты. Но она ничего с ними не делает, только сообщает об их наличии. Работает с файлами gedcom, то есть нужно будет выполнить импорт из ДЖ, а потом в ней смотреть - а исправлять в ДЖ.

И софтина от o22 GedcomReport тоже хороша. Тоже ищет дубликаты, но у них разный алгоритм работы, и они хорошо друг друга дополняют. Для работы с ней не нужно даже конвертировать базу. Но также - никаких автоисправлений. Только информирование.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

iravd61@mail.ru
Сообщения: 55
Зарегистрирован: 13 дек 2016 17:56

Re: Как объединить два Древа в одно?

#110 Сообщение iravd61@mail.ru » 18 май 2020 05:43

hippocamus писал(а): 12 май 2020 21:23
axez писал(а): 12 май 2020 20:38 ... Теперь мешанина из нескольких баз и какую брать, как основную и что дальше делать... просто руки опускаются
https://yadi.sk/d/0-j_yZt2dG6UWw
Жаль вас, но такова жизнь. Нет нормальных алгоритмов слияния.
Могу только порекомендовать ...
Спасибо!!! Всем - за поднятый вопрос, и - отдельно - уважаемому hippocamus - за ценные подсказки. Надеюсь, не пригодятся, но, если что - решение уже предложено!
"мы вырастаем духом из ранней сумятицы, поднимая предков своих забытое знамя" А.Квотион
ИЩУ: Вершинин, Панишев(Омск.обл.); Бурмак, Новак, Дорофеев, Кириченко, Пилипенко, Шелудько, Чепель/ев, Тягнибеда, Кашталап/ов(Укр.; Новосиб.обл.)

Аватара пользователя
Руслан Грибков
Сообщения: 333
Зарегистрирован: 01 май 2005 23:28
Откуда: Нижегородская обл. Городец

Re: Как объединить два Древа в одно?

#111 Сообщение Руслан Грибков » 22 май 2020 07:53

По поиску дубликатов - сейчас забиваю из ревизских сказок людей, понятно что жены у крестьян в большинстве не прописаны откуда пришли, сортирую по ФИО таблицу и пробегаю глазами тех кто интересует в данный момент, если рядом строчка с таким же ФИО, начинаю «копать», в базе 6 тыс человек. У Вас ситуация похожая, в принципе это и есть исследование, сам процесс.
Ищу: по Нижегородской обл. - Грибковых, . По г. Козьмодемьянску - Грибковых, Соколовых, Никоновых.
по Украине - Янчишены, Сумашевские, Заблоцкие, Чегурко, Петруша.
по Хабаровску - Клюевых, по Москве - Бажковых, Владимирская обл. - Гоцуц.

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#112 Сообщение o22 » 01 июн 2020 12:33

Раз уж в ходе обсуждения вспомнили мой GedcomReport, то возможно кому-то будет полезной информация, что в последней версии (выложил сегодня) поиск дубликатов стал возможен в том числе только по одной (текущей) персоне.
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

СергейР
Сообщения: 50
Зарегистрирован: 17 мар 2018 09:52

Re: Как объединить два Древа в одно?

#113 Сообщение СергейР » 01 июн 2020 12:58

Подскажите пожалуйста правильный алгоритм разделения и объединения файла для параллельной работы, чтобы меньше всего проблем было в будущем?

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#114 Сообщение o22 » 01 июн 2020 13:19

Я следую следующим правилам
1. Файл с базой должен быть один и только один.
Даже если я делаю кому-то мини-исследование, я как правило, делаю его в своей базе. Удалить "лишнюю" информацию всегда проще, чем потом объединять, если вдруг возникнет такая необходимость.
2. "Мастер-система" должна быть только одна. То есть, если я веду БД в Древе жизни на одном компе, то я ввожу новую информацию только в эту базу. Никаких вариантов других программ, ни на другом компьютере не должно быть. Разъедутся базы - концов не найдете.
3. Систематическое бекапирование данных на разные носители. Здесь без комментариев.
4. Я использую и другие генеалогические программы и ресурсы (в том числе онлайн), но источник данных - только один (см.пп.1-2). Удачным для себя решением я нашел MyHerritage - во-первых это способ найти "совпаденцев" в других деревьях и базах данных, во-вторых, при необходимости, есть Андроид версия, в которую можно оперативно "подсмотреть", если комп не под руками.
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

СергейР
Сообщения: 50
Зарегистрирован: 17 мар 2018 09:52

Re: Как объединить два Древа в одно?

#115 Сообщение СергейР » 01 июн 2020 13:27

Может разработчики подумают о внешних ссылках по аналогии с CAD программами? Думаю было бы удобно.

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#116 Сообщение o22 » 01 июн 2020 13:50

СергейР писал(а): 01 июн 2020 13:27 Может разработчики подумают о внешних ссылках по аналогии с CAD программами? Думаю было бы удобно.
Я не совсем понял сути предложения, но если говорить о проблеме в целом, то никакие технические решения не спасут "бардак" в файлах, если он уже есть.
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Elena Polyanskikh
Сообщения: 973
Зарегистрирован: 12 сен 2008 18:51
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#117 Сообщение Elena Polyanskikh » 03 июн 2020 08:09

СергейР писал(а): 01 июн 2020 12:58 Подскажите пожалуйста правильный алгоритм разделения и объединения файла для параллельной работы, чтобы меньше всего проблем было в будущем?
Кажется, уже описывала, но не помню где, тут или в личных сообщениях, поэтому повторю.
Принципы: при создании объект персона Иван получает свой внутренний код, который уникален. При добавлении данных из файла Древо Жизни сравнивает внутренние коды добавляемых объектов с кодами уже имеющихся в файле и добавляет только те, которые отсутствуют в пополняемом файле. Объекты - это персоны, события, места, документы, источники, роды, заметки. Синхронизации нет, то есть изменения в объектах с одинаковым внутренним кодом не отслеживаются, они игнорируются.

Если создать в двух базах параллельно Ивана, у него в каждой из этих баз будет свой собственный внутренний код, для Древа Жизни это будут две разные персоны, после слияния баз в файле будет 2 Ивана, и нужно будет работать над удалением двойников, воссозданием связей между оставшимися. Совет: при объединении баз нужно минимизировать количество одинаковых персон, если эти персоны были созданы параллельно в разных базах. Можно просто удалить их. Или можно отталкиваться от этого в начале работы, когда распределяются задания, кто вносит какую ветку, чтобы сразу исключить внесение одной и той же ветки в двух базах параллельно.

С другой стороны, если сохранить кусок дерева с этим Иваном из "материнской" (основной) базы в отдельный файл, то внутренний код этого Ивана останется прежним. Внутренний код Ивана в "материнской" базе и в этом отдельном файле будет одинаковым, для Древа Жизни это одна и та же персона. При слиянии баз эта персона (да и любой объект - событие, место, документ, источник и тд) будет игнорироваться, будут добавлены только новые объекты, с отличающимся внутренним кодом - в том числе новые события/документы/источники/места у этого Ивана. К самому объекту "Персона" относятся поля "ФИО", "Место жительства", "Основное занятие", "Род", "Комментарий", дополнительные поля - "Телефон" и пр.. В общем, лучше вручную проконтролировать, вся ли информация перенеслась, если речь идет именно о внесении изменений в объекты с одинаковым внутренним кодом.
Елена Полянских, Genery Software

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#118 Сообщение o22 » 03 июн 2020 16:57

Elena Polyanskikh писал(а): 03 июн 2020 08:09 С другой стороны, если сохранить кусок дерева с этим Иваном из "материнской" (основной) базы в отдельный файл, то внутренний код этого Ивана останется прежним. Внутренний код Ивана в "материнской" базе и в этом отдельном файле будет одинаковым, для Древа Жизни это одна и та же персона. При слиянии баз эта персона (да и любой объект - событие, место, документ, источник и тд) будет игнорироваться, будут добавлены только новые объекты, с отличающимся внутренним кодом - в том числе новые события/документы/источники/места у этого Ивана. К самому объекту "Персона" относятся поля "ФИО", "Место жительства", "Основное занятие", "Род", "Комментарий", дополнительные поля - "Телефон" и пр.. В общем, лучше вручную проконтролировать, вся ли информация перенеслась, если речь идет именно о внесении изменений в объекты с одинаковым внутренним кодом.
К Базе1 подливается База2
Если в этих базах есть в каждой по 2 персоны, внутренние коды которых совпадают.
Но в той, которая подливается (База2), есть событие между этими персонами (например, брак ), которое отсутствует в Базе1
В Базе1 появится такое событие в результате слияния?
А если событие с таким кодом уже было в Базе1 (но это совсем другое событие)? Как в таком случае?
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Elena Polyanskikh
Сообщения: 973
Зарегистрирован: 12 сен 2008 18:51
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#119 Сообщение Elena Polyanskikh » 03 июн 2020 18:15

o22 писал(а): 03 июн 2020 16:57
Elena Polyanskikh писал(а): 03 июн 2020 08:09 С другой стороны, если сохранить кусок дерева с этим Иваном из "материнской" (основной) базы в отдельный файл, то внутренний код этого Ивана останется прежним. Внутренний код Ивана в "материнской" базе и в этом отдельном файле будет одинаковым, для Древа Жизни это одна и та же персона. При слиянии баз эта персона (да и любой объект - событие, место, документ, источник и тд) будет игнорироваться, будут добавлены только новые объекты, с отличающимся внутренним кодом - в том числе новые события/документы/источники/места у этого Ивана. К самому объекту "Персона" относятся поля "ФИО", "Место жительства", "Основное занятие", "Род", "Комментарий", дополнительные поля - "Телефон" и пр.. В общем, лучше вручную проконтролировать, вся ли информация перенеслась, если речь идет именно о внесении изменений в объекты с одинаковым внутренним кодом.
К Базе1 подливается База2
Если в этих базах есть в каждой по 2 персоны, внутренние коды которых совпадают.
Но в той, которая подливается (База2), есть событие между этими персонами (например, брак ), которое отсутствует в Базе1
1. В Базе1 появится такое событие в результате слияния?
2. А если событие с таким кодом уже было в Базе1 (но это совсем другое событие)? Как в таком случае?
1. Да, должно появиться, так как созданное событие имеет внутренний код, который не встречается в Базе1, это новый объект для Базы1.
2. Как это? Внутренние коды не повторяются, они уникальны. Конечно, есть какое-то число объектов, при котором этот уникальный код повторится, но вероятность этого стремится к нулю даже в файле с 50тыс персон.
Елена Полянских, Genery Software

Аватара пользователя
o22
Сообщения: 713
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#120 Сообщение o22 » 03 июн 2020 18:34

Elena Polyanskikh писал(а): 03 июн 2020 18:15 1. Да, должно появиться, так как созданное событие имеет внутренний код, который не встречается в Базе1, это новый объект для Базы1.
2. Как это? Внутренние коды не повторяются, они уникальны. Конечно, есть какое-то число объектов, при котором этот уникальный код повторится, но вероятность этого стремится к нулю даже в файле с 50тыс персон.
Можно подробнее о структуре этого кода?
1. Она составная (код базы + код записи)
2. Или суррогатная (псевдослучайное число или GUID)

При экспорте в Гедком, то, что в поле, например:
1 _UID 551BA503_269

Это этот внутренний код?
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot], Bing [Bot] и 15 гостей