Цели, требования и ограничения¶
Цели и нецели¶
Требования¶
Ключевые возможности¶
1. Обобщённая доменная модель графа¶
GraphMechanic не ограничивается железнодорожной предметной областью.
Платформа опирается на обобщённые понятия:
- узлы;
- рёбра;
- геометрия рёбер;
- атрибуты узлов;
- атрибуты рёбер;
- слои;
- статусы;
- доменные метаданные;
- внешние идентификаторы;
- правила проверки топологии.
Это позволяет адаптировать инструмент к разным предметным областям без переписывания ядра приложения.
2. Настраиваемые коннекторы к данным¶
Платформа предполагает connector-oriented подход к доступу к данным.
Вместо жёсткой привязки к одной структуре БД GraphMechanic отделяет внутреннюю модель графа от исходной схемы данных.
Слой коннекторов отвечает за:
- чтение узлов;
- чтение рёбер;
- чтение геометрии рёбер;
- маппинг полей БД на атрибуты графа;
- применение фильтров;
- запись подтверждённых изменений обратно в источник;
- поддержку разных исходных схем.
Потенциальные источники данных:
- PostgreSQL / PostGIS;
- реляционные БД с графоподобными таблицами;
- CSV / JSON-выгрузки;
- в перспективе - graph database connectors.
3. Отображение нескольких графовых слоёв¶
GraphMechanic позволяет отображать несколько графовых слоёв на одной карте.
Примеры слоёв:
- физическая инфраструктура;
- логическая маршрутизация;
- слой доступности сервисов;
- планируемые изменения;
- слой ошибок и аномалий;
- исторический снимок состояния.
У каждого слоя могут быть собственные правила видимости, стилизации и источник данных.
Это позволяет сравнивать разные представления одной сети и выявлять расхождения между физической, логической и операционной моделями.
4. Параметризация внешнего вида узлов и рёбер¶
Внешний вид узлов и рёбер может настраиваться динамически.
Визуальные параметры могут зависеть от атрибутов объектов:
- цвет узла по статусу;
- размер узла по важности или нагрузке;
- толщина ребра по пропускной способности или трафику;
- цвет ребра по доступности;
- пунктирные линии для планируемых или неактивных сегментов;
- иконки для разных типов объектов;
- подписи на основе выбранных полей.
Так граф становится не просто геометрией, а операционной визуальной моделью.
5. Динамические параметры и наблюдение состояния¶
GraphMechanic предполагает возможность наблюдать изменения состояния графа во времени.
Одна и та же топология может дополняться динамическими данными:
- доступность;
- нагрузка;
- состояние ошибки;
- задержка;
- статус обработки;
- время последнего обновления;
- операционные метрики.
Это превращает статический граф в лёгкую операционную консоль.
Цель не в том, чтобы заменить полноценные observability-платформы, а в том, чтобы показывать состояние системы в привязке к доменной топологии.
6. Логический вид графа¶
Помимо отображения на карте, GraphMechanic предполагает режим негеографического графа.
В этом режиме все узлы размещаются на одном экране с помощью force-directed или layout-based представления, близкого по смыслу к Obsidian-style graph visualization.
Такой режим полезен, когда география скрывает логическую структуру или когда граф вообще не имеет географической природы.
Примеры использования:
- карты зависимостей;
- логическая топология;
- связи инфраструктурных объектов;
- графы доменных сущностей;
- процессные графы;
- knowledge graphs;
- data lineage-like представления.
7. Визуальное редактирование¶
GraphMechanic развивает функциональность PolylineMechanic:
- редактирование узлов;
- редактирование рёбер;
- создание полилиний;
- восстановление полилиний;
- генерация геометрии через routing service;
- редактирование атрибутов;
- визуальная валидация;
- управляемое сохранение или экспорт изменений.
Модель редактирования снижает потребность в прямой правке данных в БД и даёт доменным пользователям более безопасный визуальный workflow.
Примеры использования¶
- Проверка железнодорожного графа перед загрузкой в enterprise GIS-платформу.
- Сравнение физического и логического слоя сети.
- Поиск несвязанных узлов и разорванных маршрутов.
- Отображение операционного состояния поверх инфраструктурной топологии.
- Редактирование атрибутов графа без прямого доступа к БД.
- Построение визуальной консоли для доменно-специфичных сетевых данных.
- Переключение между картографическим и логическим представлением графа.
- Поиск расхождений между плановой и фактической топологией.