После объявления о Народном Айти-Корпусе, благодаря репостам друзей, в нашу команду добровольцев-программистов пришли новые люди – и работа над интернет-платформой «Карта Событий» активизировалась.
Напоминаю первое описание концепции Карты Событий.
И дополнения про единый пространственно-временной интерфейс – интеграцию Карты Событий с географической картой.
Теперь опубликую третью большую порцию дополнений, осмысление которых стимулировал Артём Силантьев, с которым мы познакомились на Слёте Учителей Трезвости. Процитирую нашу телеграм-переписку как есть (с небольшими оформительскими правками) – она того сто́ит.
* * *
Извилистость линий жизни
- Для удобного визуального восприятия важно иметь возможность по-разному упорядочивать и группировать Субъектов. Например, членов одной семьи поближе друг к другу.
- Ну это уже юзер, по идее, будет их drag and drop'ом как-то перетаскивать, как ему удобнее.
- Не уверен, что нужна будет такая возможность. На географической карте юзер же не перетаскивает реки и леса, города и дороги, как ему удобно.
У нас тоже постепенно будет формироваться своя логика в том, как Субъекты и События должны визуально располагаться.
Чтобы было интуитивно понятно: если жизненные пути Субъектов достаточно близки друг к другу (даже если они никогда не встречались, но были близки опосредованно, через общих знакомых), – то такие пути на Карте Событий должны быть визуально ближе. Причём на разных этапах жизни может быть по-разному.
Поэтому в изначальной концепции отображения у меня линии жизни не прямые, а извилистые, чтобы было наглядно видно, когда у человека изменился, например, круг общения – вот он был ближе к одной группе Субъектов, а стал ближе к другой группе Субъектов…
- Чтобы видеть линии жизни как что-то извилистое… Это как-то очень по-особенному надо визуализировать, типа как в фильме «Ночной Дозор», там была 3D-визуализация, как пересекаются жизни людей… Так, что ли? Хм.
- Именно-именно! Ты зришь в корень – как раз «Ночной Дозор» меня отчасти на идею Карты Событий и вдохновил. У меня даже сохранён этот кадр из «Ночного Дозора», который дал импульс к придумыванию Карты Событий:
- Ну вообще, в теории, это делается… Есть несколько Субъектов, каждый Субъект – это линия… И есть Событие, которое связано со всеми Субъектами… Значит, это надо как-то так отобразить, чтобы все линии пересекались в месте этого События.
- Я писал заметку о том, по какому принципу линии жизни могут изгибаться, опираясь на то, какой Субъект в Событии «главный».
Как я вижу, в итоге будет так: чем больше общих Событий у Субъектов на некотором отрезке времени, тем ближе они друг к другу на этом отрезке.
Например, в детстве ребёнок ближе к своим родителям – визуально видим на Карте Событий близость их линий жизни. По мере взросления ребёнка его линия жизни всё больше ответвляется, отдаляется – и, когда у него появляется своя семья, свой постоянный круг общения, его линия жизни стабилизируется рядом с линиями жизни этих новых людей.
* * *
Вертикальные и горизонтальные связи Субъектов, Событий, Мест
- Я тут подумал, что функционал и структуру Субъектов можно расширить.
Составные Субъекты. Например, Субъект – такая-то семья, которая состоит из таких-то Субъектов-людей. Или Субъект-компания, где составляющие её Субъекты – это сотрудники.
Ну и раз есть составные Субъекты, значит, у отдельного Субъекта может быть родитель (parent) – ссылка на Субъект более высокого уровня, с которым он связан.
И если так делать, то можно, например, сделать режим показа Событий Субъекта и всех его составных (детей/children).
- Да, подСубъектов и надСубъектов я тоже задумывал – но есть нюанс, который я недавно осознал.
Нюанс в том, что Субъект входит в надСубъект (или Субъект содержит подСубъект) всегда временно – с даты начала по дату конца.
Например, человек является сотрудником компании с момента приёма на работу до момента увольнения.
Человек является вначале членом родительской семьи, а потом уже членом своей собственной семьи. Причём, в случае развода, может перестать быть членом семьи.
Можно весь род, всю династию или даже всю страну рассматривать как Субъект, в котором одни подСубъекты умирают, другие рождаются.
Кроме того, у Субъекта может быть несколько независимых друг от друга надСубъектов – человек может быть сотрудником организации и при этом участником любительского театра или спортивной команды.
Например, Вася Пупкин. Он может быть подСубъектом компании «Рога и Копыта» с момента принятия на работу до момента увольнения. И подСубъектом династии Пупкиных от рождения до смерти.
- Если будет возможность как угодно связывать Субъекты, то можно разделять События Васи как сотрудника компании и как ещё кого-то… Это как создать отдельную группу ВКонтакте, с публикациями на определённую тематику.
- Да. Это улучшит возможности категоризации Событий. Например, показать События маршала Жукова только как военного, подСубъекта Красной Армии.
Это означает, что если мы указываем в Событии Субъекта, мы можем указать, от имени какого надСубъекта он участвовал в этом Событии – как частное лицо или как представитель организации.
То есть Грибоедов, например, свои литературные произведения писал как частное лицо, а в Персии был убит как подСубъект российской дипломатии (министерства иностранных дел, по-современному говоря).
- Ну, в общем, надо делать, чтобы Субъект можно было связать с надСубъектами… Там только по правам как, если владельцы Субъекта и надСубъекта – это разные юзеры, то, видимо, надо делать, чтобы владелец надСубъекта разрешил/подтвердил добавление подСубъекта? Ну и так же, если кто-то захочет связать свой Субъект с подСубъектом другого юзера. С Событиями так же надо.
- Да. Примерно так же, как при указании родственников ВКонтакте. Я кого-то указал как брата. Если он это подтвердил, то мы друг у друга на страницах будем отображаться как братья.
- Хм, тут, получается, могут быть связи Субъектов разных видов.
Например, Вася – это хоккеист, он связан с хоккейной командой как подСубъект.
И другой вид связей Субъектов: у Васи есть сестра Лера, он просто с ней связан, без уровней «над» и «под», но с указанием типа связи – родственная связь Субъектов одного уровня.
Ох… Как бы это в базе данных обозначать, подумать надо, хм.
- Под-субъектность Васи можно отождествить с Событием – «участие в хоккейной команде» – это событие свяжет Васю и хоккейную команду.
То есть пребывание Субъекта в каком-то надСубъекте можно рассматривать как вид События.
Или, скажем, Событие «учёба в университете». На время этого События Субъект является студентом – то есть подСубъектом университета.
Васю и Леру надо ли связывать в базе данных напрямую как брата и сестру?
Такая связь будет определяться через общих родителей. Надо выделить тип События «рождение». Допустим, Событие «рождение» связывает Фёдора и Васю. При этом жизнь Васи начинается как раз с этой даты, с этого События. Значит, Фёдор – отец Васи. Потом видим такую же связь у Фёдора с Лерой. Значит, Фёдор – отец Леры. А Вася и Лера – брат и сестра. У них, по крайней мере, один общий родитель.
Так можно будет определять братьев и сестёр родных (оба родителя общие), единокровных (общий отец), единоутробных (общая мама), сводных (ни одного общего родителя, но отец одного ребёнка женат на маме другого ребёнка).
Да, для События типа «рождение», получается, нужен более чёткий формат указания Субъектов, чем для других Событий. То есть можно явно указать, кто в Событии участвовал как мама, кто как папа, кто как рождённый. А то ведь и другие участники в Событии могут быть – например, акушерка, которая роды принимала.
Нечто подобное, кстати, нужно будет и с Событием типа «смерть» – если это насильственная смерть, убийство, то можно чётко указать, кто кого убил, кто убийца (или убийцы, если их несколько), кто жертва (а остальные Субъекты тогда свидетели, присутствующие).
- Субъектом может быть всë что угодно, не обязательно человек. Компания, питомец, роль, планета, корабль, автомобиль, предмет, квартира, галактика, вселенная… Это всë Субъекты различных видов, которые могут быть связаны с различными Событиями. Определять родственные связи по Событиям – это значит делать лишние запросы в базу данных. Лучше чтобы эти связи задавались прямо, при создании данных.
- Да, согласен. Тогда нужно будет постепенно вводить разные типы связей между Субъектами и между Событиями.
Ну и вопрос ещё в том, как их наглядно отображать на фронтенде. То есть для разных типов связей нужны будут разные варианты визуализации.
- Я вижу это как то, что между Субъектами может быть два вида связей:
1. Иерархические/вертикальные, определяющие, какой Субъект является под или над по отношению к другому.
2. Горизонтальные или свободные связи для информирования, типа связь «брат/сестра», «хозяин/питомец», «друг/знакомый» и тому подобное.
- Да. При этом вертикальные связи актуальны только на конкретном временном отрезке, в рамках конкретных Событий и общих надСубъектов (например, связи «учитель-ученик», «режиссёр-актёр», «начальник-подчинённый»).
Горизонтальные связи тоже могут быть временными. Например, «любовники».
То есть для любой связи нужно указывать дату начала и дату конца её актуальности. Самые длинные связи – как у брата и сестры – они длиною в жизнь, от рождения до смерти.
- Учитель-ученик, режиссëр-актëр… Это так же может быть ролями Субъектов, в рамках некоего События… Типа в одном Событии Субъект Вася – это актëр, в другом он продюсер, а в третьем уже режиссëр.
- Любая связь между Субъектами начинается связывающим Событием («знакомство», «свадьба», «приём на работу», «рождение») – и заканчивается разрывающим Событием («переезд», «развод», «увольнение», «смерть»).
- Данных о таких Событиях может и не быть… Типа известно, что Павел и Мария были любовниками в какой-то период, но про События, когда они ими стали и когда перестали быть, никто не знает и сведений об этом нет.
- Само собой. У нас на Карте Событий будет очень много белых пятен – по крайней мере, поначалу. Terra incognita.
- Значит, для связей Субъектов надо задавать данные о периоде, когда эти связи были актуальными. С пояснением, являются ли периоды точными или приблизительными.
- Да. По мере наполнения информацией у нас появится ранжирование Событий по степени достоверности, по объёму подтверждающих материалов (фото, видео, документов). Тут надо будет с историками консультироваться, как они проверяют и оценивают достоверность того или иного исторического факта.
- Ещё такой момент… В Событии есть дата начала и конца, но, я думаю, нужна ещё одна дата, просто средняя между началом и концом, или некая пиковая дата, когда произошло наиболее значимое действие в Событии. Это удобно, если будет нужен просто поиск по Событиям как по точкам на прямой.
- Можно так сделать. Но я подразумевал, что наиболее значимое действие нужно выделять в подСобытие данного События.
Например, есть битва, которая длилась несколько недель. Но ключевые бои заняли несколько часов. Их нужно выделить в подСобытия битвы.
Или, например, Событие «свадьба» – может длиться весь день или даже несколько дней. Но ключевой момент, когда жених и невеста говорят «ДА» в ответ на вопрос «согласны ли вы», – это несколько секунд, которые можно выделить в подСобытие свадьбы или даже в подСобытие подСобытия «регистрация в ЗАГСе».
- По поводу того, что у События может быть несколько надСобытий… Например, если Событие произошло на стыке двух эпох, типа на стыке палеозоя и мезозоя… Если рассматривать какие-либо эпохи как отдельные События, то, значит, могут быть подСобытия, которые с ними связаны, если они пересекаются сразу с двумя такими эпохами.
И, кстати, да, в будущем можно сделать работу с большими датами, типа Событие, произошедшее в период между 130 и 120 миллионами лет до нашей эры. Это для всяких там антропологов и археологов пригодилось бы.
- Согласен!
И да, у Событий действительно может быть несколько независимых надСобытий. Например, атомные бомбардировки Хиросимы и Нагасаки. С одной стороны, их надСобытие – это Вторая Мировая война. С другой стороны, их надСобытие – это научное Событие-эпоха «использование атомной энергии».
Или плавание Христофора Колумба.
С одной стороны, это подСобытие научного События-эпохи «великие географические открытия» (и Субъектами этого события выступают морские державы, конкретные мореплаватели, учёные, кораблестроители, картографы).
А с другой стороны, это подСобытие геополитического События-эпохи «экспансия Испании, Испанская колониальная империя», следующего после События-эпохи «Реконкиста», – и Субъектами этих Событий-эпох выступают испанское государство, испанские династии, военные, торговцы, управленцы, градостроители, католические миссионеры…
По-моему, мы дадим историкам, археологам, антропологам, геологам, эволюционистам и т.д. тот айтишный инструмент, о котором они всегда мечтали, но боялись попросить :)
О, и ещё пришло понимание визуального решения.
Если мы показываем историю одиночного автономного Субъекта (например, человека), то надо показывать ЛИНИЮ его жизни, проходящую поочерёдно через разные элементарные События (человек не может быть одновременно в нескольких элементарных Событиях, у него они идут последовательно).
А вот если мы показываем историю группового Субъекта (например, организации), то надо показывать ПОЛОСУ, или НЕСКОЛЬКО ЛИНИЙ, или НЕСКОЛЬКО ПОЛОС, проходящих через События этого группового Субъекта, которые могут и совпадать по времени (разные представители организации могут быть одновременно в разных событиях).
При изменении масштаба Карты Событий полосы могут распадаться на линии (при детализации Событий и жизненных путей отдельных Субъектов), либо, наоборот, несколько линий объединяются в одну полосу (при генерализации информации, выделении общей картины на больших временных промежутках).
Надо будет поэкспериментировать с тем, как это показать удобнее и нагляднее.
- Ну если так продолжать рассуждения, то, получается, и у Мест может быть множество надМест… Типа город N в разные годы был в составе то одной, то другой страны.
- А с точки зрения истории всей планеты даже континенты были в разное время в разных местах.
- И вообще, нужны ли тогда Места именно как места… Любой город или страну также можно считать и Субъектом.
- Места нужны – для пространственных ориентиров. У События должна быть привязка к координатной точке на географической карте, к группе точек, к области…
Здесь мы просто сейчас говорим сразу про всё – и про масштабы в миллионы лет, и про масштабы в несколько секунд. А для такой разной информации нужны всё-таки разные способы описания и визуализации. Это как переход от субатомных величин к межгалактическим и обратно.
Можно рассматривать город как Субъект. Этот Субъект на протяжении всей своей истории будет иметь привязку к постоянному Месту (с поправкой на то, что города могут разрастаться, увеличивая своё Место, или, наоборот, уменьшаться, приходить в запустение), в отличие от подвижных Субъектов.
До этих усложнений и уточнений нам ещё предстоит дорасти. Образно говоря, прежде чем доберёмся до уравнений Эйнштейна, надо уравнения Ньютона как следует освоить.
- Можно сделать, что Место – это то, что содержит данные координат/области, а также ссылается на связанный с Местом Субъект. Плюс в Место можно добавить данные об актуальности Места на определённый период, типа в одно время гора была в одном Месте, а в другое уже в другом… Гора – это один и тот же Субъект, но в разные годы она была в разных Местах.
- И это пока мы рассматриваем Места только в пределах планеты Земля ;)
- И в пределах всего одной вселенной из всего мультивëрса :)
- НадМеста и подМеста у Мест тоже могут быть. Причём связь Места и Субъекта и связь Мест друг с другом – это разные типы связей.
Например, Сингапур как Место – это подМесто Юго-Восточной Азии.
А Сингапур как город-государство – это Субъект, который может иметь больше общих Событий, например, с «азиатскими тиграми» (Гонконгом, Тайванем, Южной Кореей, Японией), чем со своими географическими соседями (Малайзией, Индонезией, Тайландом).
Или Ватикан. Это подМесто Рима, который является подМестом Италии и Апеннинского полуострова, которые являются подМестами Европы.
А как Субъект Ватикан – это подСубъект Католической Церкви.
- Может ли у Места быть множество надМест? Типа регион, который относится сразу к двум континентам… Если может, то выходит, что у всего, у Субъектов, Событий и Мест, может быть множество «над».
- Верно. Вот как раз только что пример написал – у Рима может быть надМесто Италия (как территория страны) и Апеннинский полуостров (как географическое место).
То есть всё зависит от того, что в каком контексте мы рассматриваем.
Поэтому да – у всего отношение «многие ко многим», могут быть много «над», могут быть много «под».
Россия и Европа, Россия и Азия, Россия и Евразия – места пересекающиеся, но разные.
Нам важно рисовать всё это, наполнять конкретными данными – и смотреть, как получается, что мы хотим визуально доработать и улучшить. Картография всегда требовала проб, ошибок и творческого подхода.
- У Событий и Мест тоже могут быть горизонтальные связи, как у Субъектов?
- Да. Когда я писал изначальную концепцию Карты Событий, я предусмотрел там отношения между Событиями как между «первообразным» и «производным».
Например, «Отечественная война 1812 года» – это первообразное Событие для События «книга “Война и мир”» (то есть написание книги, описывающей Событие Х, – это производное Событие от самого События Х).
Отмена рабства в США – первообразное Событие фильма «Линкольн».
Фильм «Как снимали “Звёздные войны”» – производное Событие от События «Звёздные войны».
И нанесение любого События на Карту Событий – это тоже производное от этого События :)
У Мест тоже могут быть горизонтальные связи. Например, море и впадающая в него река. Или горы, в которых река берёт истоки. Город и проходящая через него трасса. Торговый путь и порты, через которые он проходит.
- Кстати, ещё вот что подумал… Кто-то может захотеть использовать систему для формирования данных о другом, альтернативном/параллельном/выдуманном мире… Например, о мире «Властелина Колец». Для чего будет создавать Субъекты, События и Места, которые связаны друг с другом, но только в рамках выдуманного мира. Чтобы Субъекты, События и Места из разных миров не пересекались, их надо как-то изолировать друг от друга, хотя и учесть, что связи между мирами могут быть, типа автором чего-то в одном мире является Субъект из другого мира… Может, кто-то сценарии фильмов захочет создавать с помощью Карты Событий... Для чего будет нужен функционал изолированных миров.
- Да, всё правильно, я тоже об этом думал – и мне говорили, что фанаты «Гарри Поттера» обязательно захотят построить Карту Событий для Хогвартса. Карту мира «Игры престолов» тоже давно сделали – на базе Гугл-Мэп, если не ошибаюсь.
Ну что – всё в своё время будем делать для информационно-культурных потребностей трудящихся :)
* * *
Команда первой версии Карты Событий перечислена здесь.
Ещё раз отдельное спасибо Евгению Павленкову, который сделал вторую версию Карты Событий.