Obsidian на Хабре посвящено немало статей и, главным образом, про то, как создать и вести в нем базу знаний или систему управления личными делами. При этом остается обделенной вниманием тема анализа накопленного графа заметок с точки зрения его структуры и динамики. А это дополнительный слой информации, в том числе не закладываемой явно в содержание самих заметок.
В качестве примера проведу в данной статье анализ своего графа заметок, собранного за прошедший год.
Основной инструментарий - python, Networkx, Numpy, Matplotilb. Исходный код проекта тут.
В моем случае Obsidian это больше система управления личными делами, чем база знаний. Хранилище содержит следующие папки:
Блокнот. Тут быстрые заметки (идеи, впечатления, инсайты, а также интересности за пределами размеченной области дел).
Календарь. Ежедневные заметки с плановыми задачами.
Проекты. Под проектом понимаю дело с конечными сроками, которое не реализовать за один шаг.
Встречи. Заметки по итогам встреч, после которых есть, что записать о чём подумать.
Люди. Активная часть записной книжки - те, с кем осмысленно взаимодействовал за рассматриваемый период.
Заметки. Обработанные заметки (атомизированные, с аккуратно проставленными ссылками и мыслями по их поводу).
Шаблоны. Шаблоны для ускорения создания вышеперечисленных заметок.
Каталоги не накладывают особых ограничений на связи между заметками, это скорее средство для удобной первичной группировки. Так в заметке из календаря может быть ссылка на задачу по проекту, для которой будет нужна встреча с людьми. А встреча может породить новый куст в "заметках" или новый проект. Поэтому в дальнейшем будем рассматривать и анализировать само множество заметок и связей между ними, образующих граф.

Структурные метрики графа.
За рассматриваемый 2024 год было создано 1759 узлов (заметок) и 2687 ребер (связей между ними). Граф довольно разряженный.
Средняя степень: 3
Максимальная степень: 290
Количество хабов (узлов со степенью > 19.8): 29
Видна сильная неравномерность распределения степеней.
Коэффициент кластеризации: 0.070.
Модулярность: 0.757
Лувенский алгоритм выделяет 58 сообществ.
Высокое значение модулярности (т.е. наличие чётко выраженных сообществ) при низком коэффициенте кластеризации говорит о том, что сообщества имеют "звездообразную" структуру с центральными хабами. Что, вобщем-то, видно и по визуализации графа.
Чем обусловлена такая структура? Самый активный каталог у меня - это проекты. В силу широты понимания проекта (сущность с двумя критериями - сроки и многошаговость) там есть все от ремонта ванной до разработки учебного курса. Сюда же, зачастую, пишу и заметки по дополнительным материалам и подзадачам, формируя кусты различной этажности. И хотя межпроектные ссылки присутствуют, но, как показывает данное упражнение, можно проводить более глубокую работу по интеграции проектных историй в единую, плотную базу знаний.
Хабы
Итак, структура графа больше иерархическая, чем плоская и ключевую роль в ней играют 29 хабов. В плане тематик они разбиваются на следующие группы:
6 хабов - проф. деятельность на основной работе,
2 хаба - свои коммерческие проекты,
5 хабов - хобби “песни-пляски”,
5 хабов - конкретные люди,
остальные (11) - обучения и повышения квалификации.
Вывод - люблю работать, учится и активно отдыхать. Люди, попавшие в хабы есть яркие представители каждой из этих сфер.
Хабы имеют значение и как “мосты” между сообществами. При этом число связей через “мосты” быстро убывает: только 5 хабов имеют более 15 связей (которые распределены неравномерно). Еще 12 хабов поддерживает от 10 до 4 связей (в основном ближе к 4). А оставшиеся 13 связывают небольшое число сообществ (2-3)
Опять же имеем централизованную организацию с доминирующим узлом и несколькими уровнями иерархии среди остальных хабов.
Эволюция сообществ
Сообщества в контексте базы заметок можно интерпретировать как тематические пространства, естественным образом сгруппированные по содержанию (в противовес изначальной раскладке по каталогам по формальным признакам).
Интерес представляет и состав и жизненный цикл такого рода групп.
Состав, потому что в таком "сообществе" могут оказаться разные виды деятельности/информации и это будет повод задуматься о причинах такого соседства и возможностях по расширению этих необычных на первый взгляд сочетаний (хотя может быть и так, что все окажется однородно и ожидаемо - это тоже показатель).
Жизненный цикл, поскольку это информация о реальной динамике интересов составителя графа и направлениях вложений времени. Тут напрашивается сравнение с заявленными себе или другим целями (их приоритетностью) и представлениями на предмет - сходятся ли ожидания и реальность.
Естественный отбор
Рассмотрим эволюцию состава сообществ в исследуемом графе с шагом в 1 месяц. Будем учитывать только сообщества из 5 узлов и больше. Используем Лувенский алгоритм выделения сообществ.
Результат в графической форме представлен ниже.
Обозначения на рисунке следующие. Сообщество будем считать "родившемся", если оно просуществовало 1 месяц, "умершим", если оно за месяц потеряло более 50% своего состава.
Потенциал роста - высоким, если
сообщество растет (тренд восходящий),
растет количество внешних связей,
стабильность размера
где
-средний размер сообщества за время жизни,
- стандартное отклонение
текущий размер превышает минимальный вдвое или больше
Противоположная ситуация (высокий риск исчезновения), если тренды по численности сообщества и внешним связям нисходящие, стабильность s<0.5, размер близок к принятому минимуму (5 узлов). Толщина линии пропорциональна размеру сообщества в данный момент.

Среднее количество сообществ в месяце (округление до целых) составляет 18 ± 2.
Обращает на себя внимание тенденция на снижение числа короткоживущих сообществ и стабилизацию их набора к концу года. Посмотрим на распределение сообществ по времени жизни.
Распределение по времени жизни

Среднее время жизни: 3.1 мес.
Стандартное отклонение: 2.4 мес.
Медиана: 2.0 мес.
На гистограмме наблюдаем три пика - в районе 1, 4 и 9 месяцев. Большая часть (52%) сообществ живет не долго (1-2 мес), сравнимое количество (41%) сообществ просуществует от 3 до 7 мес, и лишь 7% - проживут дольше 8 месяцев.
Актуальная тематика
На конец рассматриваемого периода есть 14 живых сообществ. Из них:
Два сообщества долгожителя (11 мес) отражают основную профессиональную тематику.
Четыре сообщества "среднего возраста" (5-7 мес) - увлечения.
Восьмерых представителей "молодежи" (1-4 мес) не получится классифицировать столь однозначно. По большей части это обучения, но есть примеси из увлечений и работы по своим проектам.
Промежуточный вывод. В среднем в фокусе моего внимания 18 (± 2) крупных тем/направлений. Из них 2 "длинных", 7 "средних", оставшаяся половина - воронка-конструктор.
Анализ активности
От динамики отдельных сообществ перейдем к динамике роста всего графа. Это информация служит отражением активности работ по написанию заметок, что, в свою очередь, полезно для понимания границ возможностей и особенностей текущей организации процесса - для дальнейшей его оптимизации.
Ниже приведен на график количества создаваемых узлов от времени. Шаг, как и прежде, - 1 месяц.

Характер графика пилообразный, с тремя своеобразными "зубьями" (резкий пик - медленный спад). Это в целом соответствует характеру моей работы в университете.
Первый "зуб" имеет максимум в январе (начало семестра, новые планы, контакты, проекты, обсуждения), затем снижение до марта (и чем дальше от начала, тем меньше "креатива" и заметок, а больше работы по намеченному плану).
Второй "зуб" имеет максимум в июне и незначительное снижение к августу. Июнь это сессия, июль и август - летняя практика и свои образовательные проекты.
Третий "зуб" бодро стартует с сентября вместе с новым семестром. Опять новые идеи, планы, мысли обсуждения и орг.моменты. К ноябрю снова "все и так понятно".
Декабрьский подъем выбивается из описанной картины - конец года все же требует повышенной активности.
Вывод: есть потенциал развития у середины-конца семестров. Имеет смысл почаще поднимать взгляд из рутины.
Дополним картину исторической динамикой среднего значения PageRank узлов графа и диапазона его изменения.

В феврале-мае, мае-августе и августе-ноябре (что с погрешностью в месяц совпадает с границами периодов, выделенных не предыдущей диаграмме) видим на графике следующий паттерн:
рост ширины диапазона PageRank при увеличении числа узлов - что говорит об усилении централизации в сети,
с последующим сужением диапазона и снижением среднего значения PageRank (при снижении темпа прироста узлов) - что говорит о увеличении связности и демократизации сети.
Вывод: стратегию заполнения базы знаний применяю такую - в начале собрать из новых сущностей иерархическую структуру, а потом насыщять ее горизонтальными связями.
Люди
Поскольку живем мы в обществе людей, интерес представляет, как они представлены в рассматриваемом графе и какова динамика взаимодействий с социальным окружением.
На графике ниже показаны изменение размера активного окружения и динамика новых связей в течение года. Датой появления человека в окружении будем считать дату создания заметки встречи, проекта или мероприятия, где впервые пообщались/поработали (заметки-моста между узлами в записной книжке: моим и визави).
Массовые рабочие мероприятия, такие как поточные лекции или учебные встречи тут не учтены, поскольку в них идет взаимодействие с группой, а не индивидуальное (и для них есть специальные корпоративные информационные системы).

В начале зимы все контакты технически помечены как новые (поскольку граф еще только наполняется). Затем, по мере накопления данных, доли новых и уже знакомых людей, с кем были взаимодействия в течение очередного месяца, стремятся к выравниванию. Т.е. установленные связи продолжают жить и добавляются новые.
Можно также отметить, что коммуникационная активность, также как и прочая, имеет подъемы и спады и, если смотреть сквозь призму университетской жизни, в первой половине семестров выше, чем во второй.
Выводы
Что имеем:
-
Структура графа на данный момент имеет преимущественно иерархическую "звездообразную" организацию с выраженными хабами. Это, с учетом динамики развития сети, отражает текущую стратегию работы с информацией:
вначале обустроить новые сущности в иерархическую структуру,
потом выстраивать горизонтальные связи между элементами.
Причем создавать новую остовную структуру мне интереснее, чем наводить лоск в старой. Это выражается и в высокой деле новых направлений приложения внимания. Половина тем, которыми я занимаюсь в течение месяца, через месяц-два будет пересобрана во что-то другое или завершена.
В усредненном месяце в фокусе моего внимания 18 крупных тем/направлений. Из них 2 "длинных" (живут около года), 7 "средних" (1-2 квартала), ну и воронка-конструктор из 9 короткоживущих.
Набор направлений стабилизируется к концу года.
-
График активности имеет пилообразный характер, коррелирующий с расписанием университета: пики в январе, июне и сентябре
Коммуникационная активность заметно выше в первой половине семестров (и зимой и осенью), а к их концу мой девиз "меньше слов, больше дела".
Наблюдается количественный баланс между созданием новых и включением старых социальных связей.
Самая равномерная работа - летом.
Что улучшить:
Увеличить межпроектную интеграцию для повышения связности графа.
Активнее работать в глубину тематических направлений.
Планировать периоды рефлексии в середине семестров.
Учитывать выявленную норму крупных тем в месяц при планировании.
Итог: Анализ графа заметок позволил выявить ключевые паттерны работы с информацией, связать их с жизненными циклами проектов/тем и учебными периодами, а также наметить пути для повышения эффективности системы управления делами (знаниями) в Obsidian.
Furriest
А сформулируйте выводы так: "После анализа графа я узнал о себе то, чего раньше не знал, а именно:".
А то вывод "люблю работать, учиться и активно отдыхать" - прямо какое-то "нравится быть здоровым и богатым, а бедным и больным - не нравится".