Спецификация Граф филармоний 1.1
Что нового в версии 1.1
🎉 Новые возможности:
- Events (События) — добавлена поддержка концертов, спектаклей с информацией о билетах (Offer)
- Performers (Исполнители) — добавлена поддержка персон (Person) и музыкальных коллективов (MusicGroup)
- Slug (читаемый идентификатор) — человекопонятные идентификаторы для удобных адресов страниц с постоянным перенаправлением на UUID
- UUID (уникальный идентификатор записи) — явное требование обязательного поля uuid для всех сущностей
- Навигационные ссылки (Hypermedia Links) — стандартизация навигационных ссылок через поле links
Обратная совместимость: Версия 1.1 полностью совместима с 1.0. Все данные версии 1.0 продолжают работать.
О стандарте
Граф филармоний — это стандарт машиночитаемых данных для филармонических организаций России, основанный на международном словаре Schema.org (международный словарь описания данных). Стандарт определяет структуру данных в формате JSON-LD (формат структурированных данных), обеспечивающую совместимость с поисковыми системами, ИИ-ассистентами и государственными информационными системами.
Версия 1.1 значительно расширяет базовый профиль: добавлена поддержка событий (концерты, спектакли), исполнителей (дирижеры, солисты, оркестры, хоры), человекопонятных идентификаторов (slug) для удобных адресов страниц и информации о билетах.
Основные принципы
- Совместимость с Schema.org — все сущности являются расширениями стандартных типов Schema.org
- Формат JSON-LD — данные публикуются в формате структурированных данных через партнёрский источник данных
- Семантические связи — объекты связываются через адреса-идентификаторы (@id), формируя граф знаний
- Постепенное внедрение — можно начать с минимального профиля и расширять данные по мере необходимости
- Открытость — спецификация и инструменты доступны бесплатно и открыты для развития
- Постоянство адресов — UUID гарантирует неизменность идентификаторов
Реализованные эндпоинты в версии 1.1
Версия 1.1 предоставляет следующие источники данных. Параметр {base} — это базовый путь, настраиваемый организацией (например, /id/ или /data/):
| Эндпоинт | Описание | Статус |
|---|---|---|
GET /{base}/organization.jsonld |
Профиль организации (главная точка входа) | Обязательно |
GET /{base}/health.jsonld |
Источник данных для мониторинга | Опционально |
GET /{base}/places.jsonld |
Список залов и площадок | Опционально |
GET /{base}/places/{uuid}.jsonld |
Детали конкретного зала | Опционально |
GET /{base}/events.jsonld |
Список событий с фильтрацией | Опционально |
GET /{base}/events/{uuid}.jsonld |
Детали конкретного события | Опционально |
GET /{base}/performers.jsonld |
Список исполнителей (персоны и коллективы) | Опционально |
GET /{base}/performers/{uuid}.jsonld |
Детали конкретного исполнителя | Опционально |
Поддерживаемые типы данных
Филармоническая организация (PerformingGroup)
Organization
ОбязательноКонцертный зал или площадка
Place (MusicVenue)
ОпциональноКонцерт, спектакль, мероприятие
Event (MusicEvent)
ОпциональноДирижер, солист, композитор
Person
ОпциональноОркестр, хор, ансамбль
MusicGroup
ОпциональноКонтактная точка (касса, пресс-служба)
ContactPoint
ОпциональноКлючевые нововведения
1. Events (События)
Версия 1.1 добавляет поддержку культурных событий — концертов, спектаклей, выставок:
- MusicEvent — концерты и музыкальные мероприятия с полным описанием
- Информация о билетах — поле
offersс ценами, валютой и доступностью - Интеграция с исполнителями — связь через поле
performer - Место проведения — привязка к конкретной площадке через
location - Программа концерта — поле
workPerformedдля указания исполняемых произведений
2. Performers (Исполнители)
Версия 1.1 добавляет полную поддержку исполнителей — персон и музыкальных коллективов:
- Person — дирижеры, солисты, композиторы с полной биографией
- MusicGroup — оркестры, хоры, ансамбли с составом и историей
- Интеграция с событиями через поле
performer - Поддержка фильтрации по типу (person, orchestra, choir, ensemble)
3. Slug (Человекопонятные идентификаторы)
Поле slug позволяет создавать удобные читаемые адреса страниц:
- Формат: только латинские буквы, цифры, дефисы, строчные символы
- Примеры:
big-hall,symphony-orchestra,tchaikovsky-symphony-5 - Постоянное перенаправление (308 Permanent Redirect): slug-версия адреса перенаправляет на UUID-версию
- ⚠️ Важно: UUID остается обязательным, slug — опциональный
4. UUID как обязательное поле
Версия 1.1 явно требует наличие поля uuid для всех сущностей:
- UUID v4 генерируется один раз при создании объекта
- UUID никогда не меняется
- Централизованный реестр синхронизируется по UUID
- Гарантирует постоянство идентификаторов
JSON-LD Контекст
Контекст версии 1.1 расширяет базовый контекст Schema.org дополнительными определениями:
"@context": [
"https://schema.org",
"https://id.filarmonia.online/spec/1.1/context.jsonld"
]
Обратная совместимость
✅ Гарантия совместимости:
- Все данные версии 1.0 работают с контекстом 1.1
- Для реестра достаточно только
organization.jsonld - Все остальные эндпоинты опциональны — партнер сам решает, что публиковать
- Новые поля (
slug,links,offers,performer) опциональны;uuidобязательное - Не требуется миграция существующих данных
- Версия 1.0 будет поддерживаться минимум до 2027 года
Планируемые сущности
В следующих версиях стандарта планируется добавить:
| Сущность | Назначение | Статус |
|---|---|---|
| Performance | Конкретные исполнения произведений | Версия 1.2 |
| Work | Музыкальные произведения, партитуры | Версия 1.2 |
| Project | Фестивали, абонементы, образовательные программы | Версия 1.3 |
Документация и ресурсы
Для разработчиков
Инструменты
Другие версии
Доступные версии спецификации:
- Версия 1.1 (текущая) — рекомендуется для всех новых проектов
- Версия 1.0 — базовая версия, поддерживается до 2027