Запити структурних метаданих
Ресурси
Доступні наступні типи ресурсів (об'єктів структурних метаданих):
- datastructure (Скорочено від DataStructureDefinition для створення коротших URL)
- metadatastructure (Скорочено від MetadataStructureDefinition для створення коротших URL)
- categoryscheme
- conceptscheme
- codelist
- dataflow
- metadataflow
- categorization
- structure (Цей тип можна використовувати для отримання будь-якого типу структурних метаданих, які відповідають наданим параметрам)
Параметри
Параметри використовані для ідентифікації об'єктів структурних метаданих
Використовуються наступні параметри:
Параметр | Тип | Опис |
agencyID | Рядок, сумісний із SDMX common:NCNameIDType | Агентство, яке підтримує артефакт, що повертається. Можливо встановити більше ніж одну агенцію, використовуючи + як роздільник (наприклад, SSSU+ECB) |
resourceID | Рядок, сумісний із SDMX common:IDType | Id артефакта, що повертається. Можливо встановити більше ніж одний id, використовуючи + як роздільник (наприклад, CL_FREQ+CL_CONF_STATUS) |
version | Рядок, сумісний із SDMX common:VersionType | Версія артефакта, яка повертається. Можливо встановити більше ніж одну версію, використовуючи + як роздільник (наприклад, 1.0.0+2.1.0) |
Вищезазначені параметри вказуються за допомогою наступного синтаксису:
https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/{resource}/{agencyID}/{resourceID}/{version}
Крім того, можуть використовуватися ключові слова:
Ключове слово | Область (Scope) | Опис |
---|---|---|
all | agencyID | Повертає артефакти, що підтримуються будь-якою обслуговуючою агенцією |
all | resourceID | Повертає всі ресурси типу, визначеного параметром ресурсу |
all | version | Повертає всі версії ресурсу |
latest | version | Повертає останню версію ресурсу, що зараз використовується |
Оскільки all
є зарезервованим ключовим словом в RESTful API SDMX, рекомендується не використовувати його як ідентифікатор для агенцій, ресурсів або конкретної версії.
Діють наступні правила:
- Якщо версія не вказана, має бути повернута версія, яка в даний час використовується в продакшені. Тому це еквівалентно використанню ключового слова
latest
. - Якщо agencyID не вказано, повинні бути повернуті відповідні артефакти, супроводжувані будь-якою агенцією з обслуговування. Отже, це еквівалентно використанню ключового слова
all.
Це може потенційно повернути більше ніж один артефакт, якщо різні агенції дають однаковий ідентифікатор ресурсу (наприклад,https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/codelist/all/CL_FREQ
, може повернути більше ніж один довідник, якщо більше ніж одна агенція підтримує довідник із id "CL_FREQ"). - Якщо resourceID не вказано, всі відповідні артефакти (згідно з іншими використовуваними критеріями) повинні бути повернуті. Отже, це еквівалентно використанню ключового слова
all
. - Якщо параметри не вказані, повинна бути повернута остання версія всіх ресурсів типу, ідентифікованого параметром ресурсу, супроводжувана будь-якою обслуговуючою агенцією.
Додатковий параметр, що використовується для ідентифікації ресурсу item scheme типу
Використовує шаблон схеми елементів для моделювання колекцій елементів SDMX, зокрема, такі як:
- categoryscheme
- conceptscheme
- codelist
Хоча hierarchicalcodelist не відповідає шаблону схеми елементів, він також є збіркою, тобто збіркою ієрархій.
Для цих збірок (тих, що відповідають шаблонові схеми елементів або hierarchicalcodelist), можна використовувати 4-й параметр для ідентифікації ресурсу. Правила для 3 інших параметрів, як ішлося у розділі вище, залишаються чинними.
Параметр | Тип | Опис |
---|---|---|
itemID | Рядок, сумісний із SDMX common:NestedNCNameIDType для conceptscheme та agencyscheme, SDMX common:IDType для hierarchicalcodelist або з SDMX common:NestedIDType у всіх інших випадках | Id елемента, який має бути повернутий. Можливо встановити більше ніж один id, використовуючи + як роздільник (наприклад, A+Q+M). |
Цей 4-й параметр використовується наступним чином:
https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/resource/agencyID/resourceID/version/itemID
Крім того, можна використовувати ключове слово:
Ключове слово | Область (Scope) | Опис |
---|---|---|
all | itemID | Повертає всі елементи, що належать до схеми елементів |
Діють такі правила:
- Якщо itemID не вказано, повинні бути повернуті всі елементи, що належать до схеми елементів. Отже, це еквівалентно використанню ключового слова
all.
- Якщо встановлено itemID і це id верхнього рівня (наприклад: Код A (Щорічний) в списку частот), і такий елемент існує у відповідній схемі елементів, повернута схема елементів повинна містити лише відповідний елемент, а його параметр
isPartial
повинен бути встановлений вtrue.
- Якщо встановлено
itemID
і це вкладений id (наприклад: Категорія A.1.1, що належить до категорії A.1, яка належить до категорії A в схемі категорій), і такий елемент існує у відповідній схемі елементів, повернута схема елементів повинна містити відповідний елемент та його предків, а його параметрisPartial
повинен бути встановлений вtrue
.
Параметри, що використовуються для додаткового опису бажаних результатів
Наступні параметри використовуються для додаткового опису бажаних результатів, після того як ресурс було ідентифіковано.
Як зазначалося в п.3.2, ці параметри з'являються в частині URL-адреси запиту.
Параметр | Тип | Опис | Default |
---|---|---|---|
detail | String | Цей атрибут визначає бажану кількість інформації, яка має бути повернута. Наприклад, можна вказати веб-службі повертати лише основну інформацію про обслуговуваний артефакт (тобто: id, agency id, версію та ім'я). Найімовірніше, елементи схем елементів не будуть повернуті (наприклад, веб-служба не повертатиме коди в запиті довідника). Можливі значення: allstubs (усі артефакти мають бути повернуті як публікації, містячи тільки інформацію про ідентифікацію, а також імена артефактів), referencestubs (артефакти, на які здійснено покликання, мають бути повернуті як публікації, містячи тільки інформацію про ідентифікацію, а також імена артефактів), referencepartial (більшість схем елементів повинна включати тільки елементи, які використовуються артефактом, який повертається. Наприклад, схема понять повинна містити тільки поняття, що використовуються у DSD, і її прапорець isPartial повинен бути встановлений в true . Аналогічно, якщо потік даних був обмежений, то довідники, на які посилається DSD, на яку посилається потік даних, повинні містити тільки коди, дозволені обмеженням змісту), allcompletestubs (усі артефакти повинні повертатися як повні публікації, що містять інформацію про ідентифікацію, ім'я артефактів, опис, анотації та інформацію isFinal), referencecompletestubs (артефакти, на які здійснено покликання, мають повертатися як повні заготовки, що містять інформацію про ідентифікацію, ім'я артефактів, опис, анотації та інформацію isFinal ) та full (усю доступну інформацію для всіх артефактів слід повернути). |
full |
references | String | Цей атрибут наказує веб-службі повертати (або ні) артефакти, на які посилається артефакт, що повертається (наприклад, довідники та концепти, які використовує визначення структури даних (DSD), що відповідає запиту), а також артефакти, які використовують відповідний запиту артефакт (наприклад, бази даних, які використовують визначення структури даних (DSD), що відповідає запиту). Можливі значення: none (посилання не будуть повернуті), parents (артефакти, які використовують артефакт, що відповідає запиту), parentsandsiblings (артефакти, які використовують артефакт, що відповідає запиту, а також артефакти, на які посилаються ці артефакти), children (артефакти, на які посилається артефакт, що повертається), descendants (посилання на посилання, на будь-якому рівні, також будуть повернуті), all (комбінація parentsandsiblings та descendants). Крім того, також може бути використаний конкретний тип ресурсу (наприклад, references=codelist). |
none |
Застосовність і значення атрибута references
У таблиці нижче перераховані артефакти 1-го рівня (один рівень вгору, один рівень вниз), які будуть повернуті, якщо параметр references встановлено як all.
Артефакти, на які посилається відповідний артефакт, відображаються в звичайному стилі, тоді як артефакти, які посилаються на відповідний артефакт, відображаються курсивом.
Запитуваний артефакт | Повернені артефакти |
---|---|
Categorisation | All |
CategoryScheme | Categorisations |
Codelist | Categorisation, ConceptScheme, DataStructureDefinition, MetadataStructureDefinition |
ConceptScheme | Categorisation, Codelist, DataStructureDefinition, MetadataStructureDefinition |
Dataflow | Categorisation, DataStructureDefinition |
DataStructureDefinition | Categorisation, Codelist, ConceptScheme, Dataflow |
Metadataflow | Categorisation, MetadataStructureDefinition |
MetadataStructureDefinition | Categorisation, ConceptScheme, Codelist, Metadataflow |
Приклади
-
Щоб отримати версію 11.0.0 із DSD з id DSD_SCIENTIFIC_RESEARCH_DEVELOPMENT що підтримується за допомогою SSSU, а також довідники і концепти, що використовуються в DSD:
-
Щоб отримати останню версію в продакшені DSD з id DSD_SCIENTIFIC_RESEARCH_DEVELOPMENT що підтримується за допомогою SSSU, без довідників і концептів, що використовуються в DSD:
-
Щоб отримати всі DSDs, що підтримуються за допомогою SSSU, а також бази даних, які використовують ці DSD:
-
Щоб отримати останню версію всіх довідників, що підтримується за допомогою всіх агенцій підтримки, але без кодів:
-
Щоб отримати як публікації останню версію в продакшені всіх підтримуваних артефактів, що підтримуються за допомогою SSSU:
-
Щоб отримати категорію AGRICULTURE_FORESTRY_AND_FISHERIES схеми категорії PORTAL_DEFAULT_HIERARCHY, що підтримується за допомогою SSSU, а також категоризації, що посилаються на цю категорію:
-
Щоб отримати останню версію довідників CL_FREQ, що підтримується за допомогою SSSU або SDMX:
https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/codelist/SSSU+SDMX/CL_FREQ
Запити даних та метаданих
Ресурси
Мають підтримуватися такі джерела:
- data (дані)
- metadata (метадані)
Параметри
Параметри, що використовуються для ідентифікації ресурсу
Наступні параметри використовуються для ідентифікації ресурсів:
Параметр | Тип | Опис |
---|---|---|
flowRef | Рядок, який ідентифікує базу даних. Синтаксис включає id агенції, id артефакта, версію, відокремлені знаком ",". Наприклад: AGENCY_ID, FLOW_ID, VERSION. У випадку, коли рядок містить тільки один із цих 3 елементів, вважається, що це id потоку даних (flow). Наприклад: all,FLOW_ID,latest. У випадку, якщо рядок містить тільки два з цих 3 елементів, вони вважаються id агенції та id потоку даних (flow). Наприклад: AGENCY_ID, FLOW_ID, latest. | Бази даних або метаданих, що мають бути повернуті. Це загальний випадок використання у веб-службах на основі SDMX, коли id потоку даних (flow) достатньо для унікальної ідентифікації потоку даних. У іншому разі, id агенції та версія бази даних можуть бути використані разом з id потоку даних (flow) для унікальної ідентифікації потоку даних. |
key | Рядок, сумісний із KeyType, визначеним у SDMX WADL. | Ключ артефакту, який має бути повернутий. Змінна підтримується шляхом виключення коду виміру для виміру, який має бути підставлений як змінна. Наприклад, якщо ключ серії ідентифікує двосторонній обмінний курс для щоденного обмінного курсу долара США проти євро, D.USD.EUR.SP00.A, тоді ключ серії може бути використаний для отримання даних для всіх валют проти євро: D..EUR.SP00.A. Оператор OR підтримується з використанням символу +. Наприклад, ключ серії можна використати для вибірки курсів обміну проти євро для долара США та японської ієни: D.USD+JPY.EUR.SP00.A. |
providerRef | Рядок, що ідентифікує провайдера. Синтаксис включає id агенції, id постачальника даних (provider id) відокремлені знаком ",". Наприклад: AGENCY_ID,PROVIDER_ID. У випадку, коли рядок містить тільки один з цих 2 елементів, вважається, що це id постачальника даних (provider id). Наприклад: all,PROVIDER_ID. | Постачальник даних (або метаданих), які потрібно отримати. Якщо це не вказано, повернуте повідомлення буде містити дані (або метадані) від будь-якого постачальника. Це загальний випадок використання в веб-службах, що базуються на SDMX, коли id постачальника достатньо для унікальної ідентифікації постачальника даних. У іншому разі, агенція може бути використана разом із id постачальника, щоб унікально ідентифікувати постачальника даних. Оператор OR підтримується з використанням символу +. Наприклад, таке значення можна використати для вказівки, що дані повинні надаватися Швейцарським національним банком (CH2) або Центральним банком Норвегії (NO2): CH2+NO2. |
Вищезазначені параметри вказуються за допомогою такого синтаксису:
https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/resource/flowRef/key/providerRef
Крім того, можна використовувати ключові слова:
Ключове слово | Область (Scope) | Опис |
---|---|---|
all | key | Повертає всі дані, що належать до вказаної бази даних і надані вказаним постачальником. |
all | providerRef | Повертає всі дані, які відповідають наданому ключу та належать до вказаної бази даних, які були надані будь-яким постачальником даних. Оскільки all є зарезервованим ключовим словом у RESTful API SDMX, рекомендується не використовувати його як ідентифікатор для постачальників. |
Діють такі правила:
- Якщо ключ не вказано, всі дані (або метадані), що належать до бази даних (або бази метаданих), ідентифікованій flowRef, повинні бути надані. Отже, це еквівалентно використанню ключового слова
all
. - Якщо providerRef не вказано, повинні бути повернуті всі відповідні дані (або метадані), надані будь-яким постачальником даних. Отже, це еквівалентно використанню ключового слова
all
.
Параметри, що використовуються для додаткового фільтрування бажаних результатів
Наступні параметри використовуються для додаткового опису (або фільтрування) бажаних результатів, після того як було визначено джерело. Як зазначалося у 3.2, ці параметри розміщуються у частині URL-адреси запиту.
Параметр | Тип | Опис |
---|---|---|
startPeriod | common:StandardTimePeriodType, що визначено в схемі SDMXCommon.xsd. Може бути виражено за допомогою dateTime (всі дані, що потрапляють між календарними датами, будуть враховані), григоріанський період (всі дані, що потрапляють між календарними датами, будуть враховані) або період звітності (всі дані, які надаються за періодами, які потрапляють між зазначеними періодами, будуть повернуті. При порівнянні звітних тижнів і днів із періодами вищого порядку (наприклад, кварталами) необхідно враховувати реальні часові рамки, які охоплюють періоди, щоб визначити, чи слід включати дані. Дані, які надаються як григоріанські періоди або окремі діапазони, будуть повернуті, якщо вони потрапляють між зазначеними періодами звітності, на основі дня початку звітного року 1 січня). У випадку використання символів : або + , параметр повинен бути закодований відсотками клієнтом. Зверніть увагу, що для діапазону шуканих даних це значення вважається таким, що може бути включене. Для додаткової інформації про формати, див. розділ 4.2.14 Розділу 06 (Технічні нотатки SDMX). |
Початковий період, за який повинні надаватися результати (включно). |
endPeriod | Так само, як і вище | Кінцевий період, за який повинні надаватися результати (включно). |
updatedAfter | xs:dateTime | Останній час, коли клієнт виконував запит у базі даних. Якщо використовується цей атрибут, повернуте повідомлення повинно включати лише останню версію того, що змінилося в базі даних від того часу (оновлення та ревізії). Це повинно включати спостереження, які були додані з моменту останнього виконання запиту (INSERT), спостереження, які були змінені з моменту останнього виконання запиту (UPDATE), та спостереження, які були видалені з моменту останнього виконання запиту (DELETE). Якщо часове зміщення не вказано, слід використовувати місцевий час веб-служби. Якщо інформація про те, коли дані були оновлені, недоступна на рівні спостережень, веб-служба повинна повернути або серії, які змінилися (якщо інформація прикріплена на рівні серій), або потоки даних, які змінилися (якщо інформація прикріплена на рівні потоку даних). |
firstNObservations | Додатне ціле число | Ціле число, яке вказує максимальну кількість спостережень, які мають бути повернуті для кожної з відповідних серій, починаючи з першого спостереження. |
lastNObservations | Додатне ціле число | Ціле число, яке вказує максимальну кількість спостережень, які мають бути повернуті для кожної з відповідних серій, рахуючи від найновішого спостереження. |
dimensionAtObservation | Рядок співставний із SDMX common:NCNameIDType | ID виміру, який повинен бути прикріплений на рівні спостереження. Цей параметр дозволяє клієнту вказати, як дані повинні бути упаковані службою. Варіанти включають TIME_PERIOD (представлення даних у вигляді часової серії), ID of any other dimension , що використовується в цій базі даних (представлення даних у вигляді перехресних розділів cross-sectional) або ключове слово AllDimensions (перегляд даних у вигляді списку/таблиці flat / table, де спостереження не групуються, ані в часових рядах, ані в розділах). У разі, якщо цей параметр не встановлено, від служби очікується: повернення до TimeDimension, якщо визначення структури даних його має. Якщо не має - то служба повинна перейти до MeasureDimension, якщо визначення структури даних його має. Якщо жодне з вищезазначеного не є дійсним, поверніться до AllDimensions. |
detail | String | Цей атрибут вказує бажану кількість інформації, яка повинна бути повернута. Наприклад, можна вказати веб-службі повернути тільки дані (тобто без атрибутів). Можливі варіанти: full (усі дані та документація, включаючи примітки - це варіант за замовчуванням), dataonly (атрибути, а отже, групи будуть виключені з повернутого повідомлення), serieskeysonly (повертає лише елементи серій та розміри, які складають ключі серій. Це корисно з точки зору продуктивності, щоб повернути серії, які відповідають певному запиту, без повернення фактичних даних) та nodata (повертає групи та серії, включаючи атрибути та примітки, без спостережень). |
includeHistory | Boolean | Цей атрибут дозволяє отримувати попередні версії даних, як вони розповсюджувалися в минулому (функціональність історії або хронології). Коли значення встановлено як true , повернене повідомлення з даними SDMX-ML повинно містити один або два набори даних на кожне розповсюдження даних, залежно від того, чи видаляло розповсюдження спостереження з джерела даних. Атрибути validFromDate та/або validToDate набору даних слід використовувати для позначення періодів дійсності даних, які містяться в наборі даних. Дивіться нижче приклад того, як обробляти параметр includeHistory . Значення за замовчуванням - false . |
Таблиця нижче визначає значення комбінацій параметрів:
Комбінація | Тлумачення |
---|---|
startPeriod без endPeriod | До найновішого |
endPeriod без startPeriod | Від початку |
startPeriod та endPeriod | У межах вказаного часового діапазону |
lastNObservations + startPeriod/endPeriod | Вказана кількість спостережень, починаючи з кінця, в рамках вказаного часового діапазону |
firstNObservations + startPeriod/endPeriod + updatedAfter | Вказана кількість спостережень, починаючи з початку, які змінилися з моменту наданої позначки часу timestamp, в межах вказаного часового діапазону. |
updatedAfter + startPeriod/endPeriod | Спостереження в межах вказаного часового діапазону, які змінилися з моменту наданої позначки часу timestamp. |
Приклади
-
Щоб отримати дані для серії RD_EXPEND.UA00000000000000000.*.*._T.BUSIN_SECTOR._T.A надані через SSSU для бази даних DF_SCIENTIFIC_RESEARCH_DEVELOPMENT:
У цьому прикладі робиться припущення, що id бази даних (DF_SCIENTIFIC_RESEARCH_DEVELOPMENT) достатньо для унікальної ідентифікації бази даних, а id постачальника даних (SSSU) достатньо для унікальної ідентифікації постачальника даних.
-
Щоб отримати дані, надані SSSU для бази даних DF_SCIENTIFIC_RESEARCH_DEVELOPMENT, для вказаних ключів серій, використовуючи символ підстановки для другого виміру:
У цьому прикладі подається повна посилання на потік даних (SSSU як організація, що забезпечує обслуговування, DF_SCIENTIFIC_RESEARCH_DEVELOPMENT як id потоку даних і latest для версії).
-
Щоб отримати оновлення і ревізії для даних, які відповідають указаним ключам серій, використовуючи оператора OR для другої розмірності та використовуючи відсоткове кодування для параметра updatedAfter:
-
Щоб отримати дані, які відповідають наданому ключу серії і обмежують початкову та кінцеву дати:
Приклад: Як обробляти параметр includeHistory
Наприклад, для конкретної серії поки що відбулося 3 розповсюдження:
- У лютому 2012 року було первинне розповсюдження з 2 періодами: 2011-12 і 2012-01.
- У березні було прийнято рішення видалити всі спостереження до 2012 року (тобто, 2011-12). Крім того, було опубліковане нове спостереження за 2012-02.
- У квітні було виправлено значення за лютий, а значення за березень було опубліковано.
Якщо значення параметра includeHistory встановлено як true, веб-служба повинна повернути 4 набори даних:
- Перший набір даних містить дані, розповсюджені у лютому, тобто 2 спостереження (2011-12 і 2012-01). Прапорець дії набору даних -
Replace
. - Другий набір даних містить нові дані, розповсюджені у березні. Він буде містити одне спостереження (2012-02). Прапорець дії набору даних також
Replace
. - Третій набір даних містить видалені дані, видалені при розповсюдженні у березні. Він буде містити одне спостереження (2011-12). Прапорець дії набору даних -
Delete
. - Четвертий набір даних містить дані, розповсюджені у квітні. Він буде містити виправлене спостереження (2012-02) і нове (2012-03). Прапорець дії набору даних -
Replace.
Прапорці validFrom
та validTo
повинні використовуватися таким чином:
- Для наборів даних, дія яких вказана як
Replace
,validFromDate
використовується для вказівки, з якого моменту часу значення вважаються дійсними. - Для наборів даних, дія яких вказана як
Delete
,validToDate
використовується для вказівки, до якого моменту часу значення вважалися дійсними.
Інші запити
Наявність даних
Ресурс availableconstraint
на основі запиту даних визначає, які дані доступні для бази даних. Він повертає ContentConstraint,
тобто структурні метадані, і тому схожий на інші запити структурних метаданих, але сам запит більш схожий на запит даних.
Параметри
Параметри, що використовуються для ідентифікації ресурсу
Для ідентифікації ресурсів використовуються такі параметри:
Параметр | Тип | Опис |
---|---|---|
flowRef | Рядок, який ідентифікує базу даних. Синтаксис включає id агенції, id артефакта, версію, відокремлені знаком ",". Наприклад: AGENCY_ID,FLOW_ID,VERSION. У випадку, коли рядок містить тільки один із цих 3 елементів, вважається, що це id потоку даних (flow). Наприклад: all,FLOW_ID,latest. У випадку, якщо рядок містить тільки два з цих 3 елементів, вони вважаються id агенції та id потоку даних (flow). Наприклад: AGENCY_ID,FLOW_ID,latest. | База даних, для якої повертається інформація про доступність даних. Це типовий випадок використання у веб-службах на основі SDMX, коли id потоку даних (flow id) достатньо для унікальної ідентифікації бази даних. У випадку, якщо це не так, id агенції та версію бази даних можна використовувати разом з id потоку даних для унікальної ідентифікації бази даних. |
key | Рядок, сумісний із KeyType, визначеним у SDMX WADL. | Ключ артефакту, який слід повернути. Підтримуються символи підстановки змінної шляхом виключення коду виміру для виміру, який має служити змінною. Наприклад, якщо наступний ключ серії ідентифікує двосторонній обмінний курс для щоденного обмінного курсу долара США проти євро, D.USD.EUR.SP00.A, то ключ серії D..EUR.SP00.A може бути використаний для отримання даних для всіх валют проти євро. Оператор OR підтримується за допомогою символу +. Наприклад, ключ серії D.USD+JPY.EUR.SP00.A може бути використаний для отримання обмінних курсів проти євро як для долара США, так і для японської ієни. |
providerRef | Рядок, що ідентифікує провайдера. Синтаксис включає id агенції, id постачальника даних (provider id) відокремлені знаком ",". Наприклад: AGENCY_ID,PROVIDER_ID. У випадку, коли рядок містить тільки один з цих 2 елементів, вважається, що це id постачальника даних (provider id). Наприклад: all,PROVIDER_ID. | Постачальник даних, для якого слід отримати інформацію про доступність даних. Це може бути використано у випадках, коли декілька постачальників даних надають дані для однієї бази даних, і потрібна інформація про доступні дані лише від одного з постачальників даних для визначеної бази даних. Якщо це не вказано, повернуте повідомлення міститиме інформацію про дані, надані всіма постачальниками. Це типовий випадок використання в веб-службах на основі SDMX, коли id постачальника достатньо для унікальної ідентифікації постачальника даних. У випадку, якщо це не так, агенцію можна використовувати разом із id постачальника для унікальної ідентифікації постачальника даних. |
componentId | Рядок, сумісний із SDMX common: IDType | Id виміру, для якого слід отримати інформацію про доступність. У випадку, коли ця інформація не надається, буде надана інформація про доступність для всіх вимірів. |
Вищезазначені параметри вказуються за допомогою наступного синтаксису:
https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/resource/flowRef/key/providerRef/componentId
Крім того, можуть використовуватися ключові слова:
Ключове слово | Область (Scope) | Опис |
---|---|---|
all | key | Повертає інформацію про доступність даних, що стосуються всіх даних, що належать вказаній базі даних і надані вказаним постачальником. |
all | providerRef | Повертає інформацію про доступність даних, що відповідає вказаному ключу і належить вказаній базі даних, які було надано будь-яким постачальником даних. Рекомендується не використовувати all в якості ідентифікатора для постачальників, тому що він є зарезервованим ключовим словом в RESTful API SDMX. |
all | componentId | Повертає інформацію про доступність даних, що відповідає вказаному ключу і належить вказаній базі даних, які було надано вказаними постачальниками даних для всіх вимірів. Рекомендується не використовувати all в якості ідентифікатора для постачальників, тому що він є зарезервованим ключовим словом в RESTful API SDMX. А також рекомендується не використовувати all в якості ідентифікатора для Dimension Ids, тому що він є зарезервованим ключовим словом в RESTful API SDMX. |
Застосовуються такі правила:
- Якщо ключ не вказано, це еквівалентно використанню ключового слова
all
. - Якщо providerRef не вказано, це еквівалентно використанню ключового слова
all
. - Якщо componentId не вказано, це еквівалентно використанню ключового слова
all.
Параметри, що використовуються для додаткового фільтрування бажаних результатів
Наступні параметри рядка запиту використовуються для додаткового опису (або фільтрації) бажаних результатів, після того як джерело було ідентифіковано.
Параметр | Тип | Опис | Значення за замовчанням |
---|---|---|---|
startPeriod | common:StandardTimePeriodType, визначений у схемі SDMXCommon.xsd. Може бути виражений за допомогою dateTime (будуть враховані всі дані, що потрапляють між календарними датами), григоріанський період (враховуються всі дані, що потрапляють між календарними датами) або звітний період (повертаються всі дані, вказані як періоди, що потрапляють між вказаними періодами. При порівнянні звітних тижнів і днів із вищими періодами (наприклад, кварталами) необхідно враховувати реальні часові рамки, які охоплюють періоди, щоб визначити, чи слід включати дані. Дані, вказані як григоріанські періоди або відмінні діапазони, повернуться, якщо вони потрапляють між вказаними звітними періодами, на основі початку звітного року 1 січня). У випадку використання символів : або + , параметр повинен бути закодований відсотками клієнтом. Зверніть увагу, що це значення вважається таким, що може бути включене до діапазону даних, які шукаються. Додаткову інформацію про формати див. у розділі 4.2.14 розділу 06 (технічні примітки SDMX). |
Початковий період, для якого повинні бути надані результати (включно). | |
endPeriod | Те саме, що і вище. | Кінцевий період, для якого повинні бути надані результати (включно). | |
updatedAfter | xs:dateTime | Останній час, коли клієнт виконав запит. Якщо цей атрибут використовується, повернуте повідомлення повинно включати тільки значення вимірів для даних, які змінилися з того часу (оновлення та перегляди). Це повинно включати значення вимірів для даних, які були додані з останнього разу, коли запит було виконано (INSERT), дані, які були переглянуті з останнього разу, коли запит було виконано (UPDATE) та дані, які були видалені з останнього разу, коли запит було виконано (DELETE). Якщо часовий зсув не вказано, за замовчуванням використовується місцевий час веб-служби. | |
references | String | Цей атрибут наказує веб-службі повернути (або не повертати) артефакти, на які посилається ContentConstraint. Можливі такі значення, що повертаються: "codelist", "datastructure", "conceptscheme", "dataflow", "none", "all" | none. Ключове слово "all" використовується для вказівки на включення dataflow, datastructure, conceptschemes та codelists. Зверніть увагу: у випадку повернення ItemSchemes (тобто Codelists, ConceptSchemes), будуть включені тільки ті елементи, які використовуються ContentConstraint (тобто поняття, що використовуються обмеженими розмірами; коди, для яких доступні дані; постачальники даних, які надали дані, доступні згідно з CubeRegion). Крім того, для Codelists батьківські коди будуть включені у відповідь, якщо дочірні коди знаходяться у поверненому codelist, незалежно від того, чи посилаються вони на ContentConstraint. Якщо це призводить до часткового переліку, атрибут isPartial буде встановлено в true. |
mode | String | Цей атрибут інструктує веб-службу повернути ContentConstraint, який визначає Cube Region зі значеннями, які будуть повернуті після виконання запиту (mode="exact"), проти Cube Region, який показує, які значення залишаються дійсними виборами, що можуть бути додані до запиту даних (mode="available"). Дійсним вибором є той, який призводить до існування однієї або декількох серій для вибраного значення, на основі поточного стану вибору даних для запиту, визначеного поточними параметрами шляху. | exact |
Таблиця нижче визначає значення комбінацій параметрів:
Комбінація | Тлумачення |
---|---|
startPeriod без endPeriod | До найновішого |
endPeriod без startPeriod | Від початку |
startPeriod and endPeriod | У межах вказаного часового діапазону |
updatedAfter + startPeriod/endPeriod | Доступні дані у вказаному часовому діапазоні, які змінилися з моменту надання позначки часу timestamp. |
Приклади
-
Для отримання різних значень для кожного виміру для всієї бази даних DF_SCIENTIFIC_RESEARCH_DEVELOPMENT. Також запитуються метадані, які використовуються для декодування id кодів та id концептів у мітки, зрозумілі для людини:
-
Для запиту на отримання даних RD_EXPEND.UA00000000000000000.*.*._T.BUSIN_SECTOR._T.A, наданого SSSU для бази даних DF_SCIENTIFIC_RESEARCH_DEVELOPMENT, клієнт запитує інформацію про те, які значення вимірів залишаються дійсними для включення в запит:
- Для запиту даних RD_EXPEND.UA00000000000000000..._T.._T.A, наданого SSSU для бази даних DF_SCIENTIFIC_RESEARCH_DEVELOPMENT, клієнт запитує інформацію про те, які значення виміру будуть повернуті в результаті виконання запиту:
-
Оскільки
exact
є значенням за замовчуванням для режиму, запит вище також може бути записаний наступним чином: