Performers (Исполнители)

Настоящий раздел содержит техническую документацию, предназначенную для специалистов в области информационных технологий и разработки программного обеспечения.

Новое в версии 1.1

Источник данных исполнителей (Performers) добавлен в версии 1.1 для поддержки персон (дирижёры, солисты) и музыкальных коллективов (оркестры, хоры, ансамбли).

Введение

Источник данных Performers (исполнители) позволяет организациям предоставлять структурированную информацию об исполнителях — персонах и музыкальных коллективах, связанных с организацией.

Зачем нужны Performers?

Типы исполнителей

Спецификация поддерживает два основных типа исполнителей:

Person

Персона — дирижер, солист, композитор, музыкант

Schema.org тип: Person

Примеры: Главный дирижер, Солистка (сопрано), Композитор

MusicGroup

Музыкальный коллектив — оркестр, хор, ансамбль, группа

Schema.org тип: MusicGroup или PerformingGroup

Примеры: Симфонический оркестр, Камерный хор, Струнный квартет

Уточнение типа через additionalType

Для MusicGroup можно уточнить тип коллектива через поле additionalType:

additionalType Описание Пример
Orchestra Оркестр Симфонический оркестр, Камерный оркестр
Choir Хор Камерный хор, Детский хор
Ensemble Ансамбль Струнный квартет, Духовой квинтет
Band Группа, бэнд Джаз-бэнд, Рок-группа

Эндпоинты

GET /{base}/performers.jsonld

Назначение: Получить список всех исполнителей организации. Параметр {base} — настраиваемый базовый путь (например, /id/).

Параметры запроса (опционально):

Параметр Тип Описание Пример
limit integer Количество записей (default: 50, max: 100) ?limit=20
offset integer Смещение для пагинации (default: 0) ?offset=50
type string Фильтр по типу: person, group, orchestra, choir, ensemble ?type=orchestra

Пример запроса:

GET https://filarmonia.online/id/performers.jsonld?type=person&limit=10

GET /{base}/performers/{uuid}.jsonld

Назначение: Получить подробную информацию о конкретном исполнителе

Пример запроса:

GET https://filarmonia.online/id/performers/6ba7b810-9dad-11d1-80b4-00c04fd430c8.jsonld

Person (Персона)

Обязательные поля

Поле Тип Описание
@context array Контекст JSON-LD (Schema.org + id.filarmonia)
@type string Всегда "Person"
@id string (URI) URI исполнителя
uuid string (UUID v4) Уникальный идентификатор
name string Полное имя (ФИО)
links array Навигационные ссылки (Hypermedia)

Рекомендуемые поля

Поле Тип Описание
slug string Человекопонятный идентификатор для URL
givenName string Имя
familyName string Фамилия
additionalName string Отчество
jobTitle string Должность/амплуа (Главный дирижер, Солистка)
image string/array Фотографии исполнителя
description string Биография
birthDate date (ISO 8601) Дата рождения
worksFor object Организация-работодатель
memberOf array Участник коллективов
award array Награды и звания
performingRole string Роль исполнителя в событии (дирижер, солист, концертмейстер, приглашенный артист)

Пример: Дирижер (Person)

{
  "@context": [
    "https://schema.org",
    "https://id.filarmonia.online/spec/1.1/context.jsonld"
  ],
  "@type": "Person",
  "@id": "https://filarmonia.online/performers/6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
  "slug": "ivanov-conductor",

  "name": "Иван Иванов",
  "givenName": "Иван",
  "familyName": "Иванов",
  "jobTitle": "Главный дирижер",

  "image": "https://filarmonia.online/images/performers/ivanov.jpg",
  "description": "Народный артист России. Окончил Московскую консерваторию по классу дирижирования...",

  "birthDate": "1975-03-15",

  "worksFor": {
    "@type": "PerformingGroup",
    "@id": "https://filarmonia.online/id/organization.jsonld",
    "name": "Пермская краевая филармония"
  },

  "award": [
    "Народный артист России",
    "Лауреат международного конкурса дирижеров"
  ],

  "links": [
    {
      "rel": "self",
      "href": "https://filarmonia.online/id/performers/6ba7b810-9dad-11d1-80b4-00c04fd430c8.jsonld"
    },
    {
      "rel": "upcoming-events",
      "href": "https://filarmonia.online/id/events.jsonld?performer=6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "title": "Предстоящие выступления"
    }
  ]
}

MusicGroup (Музыкальный коллектив)

Обязательные поля

Поле Тип Описание
@context array Контекст JSON-LD (Schema.org + id.filarmonia)
@type string "MusicGroup" или "PerformingGroup"
@id string (URI) URI коллектива
uuid string (UUID v4) Уникальный идентификатор
name string Название коллектива
links array Навигационные ссылки (Hypermedia)

Рекомендуемые поля

Поле Тип Описание
slug string Человекопонятный идентификатор для URL
alternateName string Сокращенное название
additionalType string Уточнение типа: Orchestra, Choir, Ensemble, Band
image string/array Фотографии коллектива
description string История и описание коллектива
foundingDate date (ISO 8601) Дата основания
genre array Музыкальные жанры
memberOf object Родительская организация
numberOfMembers integer Количество участников
musicGroupMember array Ключевые участники коллектива
award array Награды коллектива

Пример: Оркестр (MusicGroup)

{
  "@context": [
    "https://schema.org",
    "https://id.filarmonia.online/spec/1.1/context.jsonld"
  ],
  "@type": "MusicGroup",
  "@id": "https://filarmonia.online/performers/8f14e45f-ceea-467a-9062-682c449cd005",
  "uuid": "8f14e45f-ceea-467a-9062-682c449cd005",
  "slug": "symphony-orchestra",

  "name": "Пермский академический симфонический оркестр",
  "alternateName": "ПАСО",
  "additionalType": "Orchestra",

  "image": "https://filarmonia.online/images/performers/orchestra.jpg",
  "description": "Академический симфонический оркестр основан в 1936 году...",

  "foundingDate": "1936-07-01",
  "numberOfMembers": 85,

  "genre": [
    "Classical Music",
    "Symphony",
    "Contemporary Classical"
  ],

  "memberOf": {
    "@type": "PerformingGroup",
    "@id": "https://filarmonia.online/id/organization.jsonld",
    "name": "Пермская краевая филармония"
  },

  "musicGroupMember": [
    {
      "@type": "Person",
      "@id": "https://filarmonia.online/id/performers/6ba7b810-9dad-11d1-80b4-00c04fd430c8.jsonld",
      "name": "Иван Иванов",
      "roleName": "Главный дирижер"
    }
  ],

  "award": [
    "Академический статус (2005)",
    "Лауреат конкурса симфонических оркестров России"
  ],

  "links": [
    {
      "rel": "self",
      "href": "https://filarmonia.online/id/performers/8f14e45f-ceea-467a-9062-682c449cd005.jsonld"
    },
    {
      "rel": "upcoming-events",
      "href": "https://filarmonia.online/id/events.jsonld?performer=8f14e45f-ceea-467a-9062-682c449cd005",
      "title": "Предстоящие концерты оркестра"
    }
  ]
}

Интеграция с Events

Исполнители связываются с событиями через поле performer в MusicEvent:

{
  "@context": [
    "https://schema.org",
    "https://id.filarmonia.online/spec/1.1/context.jsonld"
  ],
  "@type": "MusicEvent",
  "@id": "https://filarmonia.online/events/f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "slug": "2026-03-15-tchaikovsky",

  "name": "П.И. Чайковский. Времена года",
  "startDate": "2026-03-15T19:00:00+05:00",

  "performer": [
    {
      "@type": "MusicGroup",
      "@id": "https://filarmonia.online/performers/8f14e45f-ceea-467a-9062-682c449cd005",
      "uuid": "8f14e45f-ceea-467a-9062-682c449cd005",
      "name": "Пермский академический симфонический оркестр"
    },
    {
      "@type": "Person",
      "@id": "https://filarmonia.online/performers/6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "name": "Иван Иванов",
      "jobTitle": "Главный дирижер",
      "performingRole": "дирижер"
    }
  ],

  "location": {
    "@type": "MusicVenue",
    "@id": "https://filarmonia.online/places/7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Большой зал"
  }
}

Навигация:

Примеры использования

Случай 1: Солист

Певица выступает на разных площадках

  • @type: Person
  • jobTitle: "Солистка (сопрано)"
  • Связана с несколькими событиями через performer

Случай 2: Штатный оркестр

Оркестр является частью филармонии

  • @type: MusicGroup
  • additionalType: "Orchestra"
  • memberOf → организация
  • musicGroupMember → ключевые музыканты

Случай 3: Камерный ансамбль

Небольшой коллектив с составом

  • @type: MusicGroup
  • additionalType: "Ensemble"
  • numberOfMembers: 5
  • Список участников в musicGroupMember

Случай 4: Гастролер

Приглашенный исполнитель

  • @type: Person
  • worksFor → другая организация
  • Связан только с одним событием

Рекомендации

Рекомендации:

  • Всегда указывайте uuid — это ключевой идентификатор
  • Используйте slug для удобных адресов страниц
  • Заполняйте jobTitle для персон — это помогает понять роль
  • Для коллективов указывайте additionalType (Orchestra, Choir, etc.)
  • Используйте links для навигации к событиям исполнителя
  • В событиях можно указывать кратко (@id, uuid, name) — полные данные в источнике данных исполнителя

Дополнительные ресурсы