Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2650ea2
Delete README.txt
sosna Apr 4, 2019
8261176
Delete SDMXRestTypes.xsd
sosna Apr 4, 2019
1510fd3
Delete sdmx-rest.wadl
sosna Apr 4, 2019
1c8eb00
Delete wadl.xsd
sosna Apr 4, 2019
a03d98e
Delete xml.xsd
sosna Apr 4, 2019
91a70df
Initial version
sosna Apr 4, 2019
8b323d4
Merge pull request #75 from sdmx-twg/cr-57
sosna Apr 4, 2019
04dcfee
Add VTL artefacts to the documentation
sosna Apr 5, 2019
779c9e0
Add VTL resources to openapi
sosna Apr 5, 2019
7a123e3
Fix typo
sosna Apr 5, 2019
eb25b4c
Fix typo
sosna Apr 5, 2019
000fcc2
Fix typo
sosna Apr 5, 2019
3d07761
Merge pull request #74 from sdmx-twg/cr-72
sosna Apr 9, 2019
be0765b
Move VTL queries under Structure queries
sosna Apr 9, 2019
f17b6cc
Added item queries for VTL artefacts
sosna Apr 9, 2019
0b11273
Add dataflow as child of NameAliasScheme
sosna Apr 11, 2019
c67d8a3
Add VTL artefacts to list of possible references
sosna Apr 11, 2019
0986a5c
List VTL artefacts as item scheme types
sosna Apr 12, 2019
53ad97b
Add NameAliasScheme as Dataflow parent reference
sosna Apr 12, 2019
de1b096
Remove erroneous error code
sosna Jun 21, 2019
368c5ec
Removed all references to 510 status code
sosna Jun 21, 2019
781e9b9
Merge pull request #81 from sdmx-twg/cr-57
sosna Jul 3, 2019
5a2c6da
Fix issue with quarterly format
sosna Sep 9, 2019
7214614
Update sdmx-rest.yaml
sosna Oct 23, 2019
ce5c2b6
Update 4_3_structural_queries.md
Oct 25, 2019
1e89e4e
Update 4_3_structural_queries.md
Oct 31, 2019
c290abb
Merge pull request #86 from sdmx-twg/cr-73
sosna Nov 4, 2019
d1de816
Add example for referencepartial
sosna Jan 17, 2020
9379059
Merge pull request #94 from sdmx-twg/cr-93
Tzaphkiel Jan 22, 2020
f943bd6
Add parameters to SDMX-CSV media type
sosna Mar 20, 2020
cd9efe3
Merge pull request #98 from sdmx-twg/cr-97
Tzaphkiel Mar 20, 2020
d891e8f
Describe use case
sosna Apr 21, 2020
51a2045
Add media types for schema queries
sosna Apr 21, 2020
dd2c20a
Add media types to schema queries
sosna Apr 21, 2020
fe63eb8
Add expected content of SDMX responses
sosna Apr 21, 2020
23b0f3c
Add table from Stratos
sosna Jun 4, 2020
795e954
Change API release date
sosna Jun 4, 2020
1939b1c
Update cheat sheet
sosna Jun 4, 2020
dd27eac
Availability query returns structures
sosna Jul 28, 2020
9dfb344
Merge pull request #103 from sdmx-twg/cr-91
dosse Aug 8, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions v2_1/ws/rest/docs/4_3_structural_queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ The following resources are defined:
- actualconstraint (a type of contentconstraint stating what data are actually present)
- allowedconstraint (a type of contentconstraint defining what data are allowed)
- attachmentconstraint
- transformationscheme
- rulesetscheme
- userdefinedoperatorscheme
- customtypescheme
- namepersonalisationscheme
- vtlmappingscheme
- structure (This type can be used to retrieve any type of structural metadata matching the supplied parameters)


Expand Down Expand Up @@ -77,6 +83,12 @@ SDMX uses the *item scheme* pattern to model SDMX collections of items. These ar
- dataconsumerscheme
- organisationunitscheme
- reportingtaxonomy
- transformationscheme
- rulesetscheme
- userdefinedoperatorscheme
- customtypescheme
- namepersonalisationscheme
- vtlmappingscheme

Although it is not following the *item scheme* pattern, *hierarchicalcodelist* is also a collection, i.e. a collection of hierarchies.

Expand Down Expand Up @@ -109,7 +121,7 @@ The following parameters are used to further describe the desired results, once

Parameter | Type | Description | Default
--- | --- | --- | ---
detail | *String* | This attribute specifies the desired amount of information to be returned. For example, it is possible to instruct the web service to return only basic information about the maintainable artefact (i.e.: id, agency id, version and name). Most notably, items of item schemes will not be returned (for example, it will not return the codes in a code list query). Possible values are: `allstubs` (all artefacts should be returned as stubs, containing only identification information, as well as the artefacts' name), `referencestubs` (referenced artefacts should be returned as stubs, containing only identification information, as well as the artefacts' name), `referencepartial` (referenced item schemes should only include items used by the artefact to be returned. For example, a concept scheme would only contain the concepts used in a DSD, and its `isPartial` flag would be set to `true`), `allcompletestubs` (all artefacts should be returned as complete stubs, containing identification information, the artefacts' name, description, annotations and isFinal information), `referencecompletestubs` (referenced artefacts should be returned as complete stubs, containing identification information, the artefacts' name, description, annotations and isFinal information) and `full` (all available information for all artefacts should be returned). | **full**
detail | *String* | This attribute specifies the desired amount of information to be returned. For example, it is possible to instruct the web service to return only basic information about the maintainable artefact (i.e.: id, agency id, version and name). Most notably, items of item schemes will not be returned (for example, it will not return the codes in a code list query). Possible values are: `allstubs` (all artefacts should be returned as stubs, containing only identification information, as well as the artefacts' name), `referencestubs` (referenced artefacts should be returned as stubs, containing only identification information, as well as the artefacts' name), `referencepartial` (referenced item schemes should only include items used by the artefact to be returned. For example, a concept scheme would only contain the concepts used in a DSD, and its `isPartial` flag would be set to `true`. Likewise, if a dataflow has been constrained, then the codelists referenced by the DSD referenced by the dataflow should only contain the codes allowed by the content constraint), `allcompletestubs` (all artefacts should be returned as complete stubs, containing identification information, the artefacts' name, description, annotations and isFinal information), `referencecompletestubs` (referenced artefacts should be returned as complete stubs, containing identification information, the artefacts' name, description, annotations and isFinal information) and `full` (all available information for all artefacts should be returned). | **full**
references | *String* | This attribute instructs the web service to return (or not) the artefacts referenced by the artefact to be returned (for example, the code lists and concepts used by the data structure definition matching the query), as well as the artefacts that use the matching artefact (for example, the dataflows that use the data structure definition matching the query). Possible values are: `none` (no references will be returned), `parents` (the artefacts that use the artefact matching the query), `parentsandsiblings` (the artefacts that use the artefact matching the query, as well as the artefacts referenced by these artefacts), `children` (artefacts referenced by the artefact to be returned), `descendants` (references of references, up to any level, will also be returned), `all` (the combination of parentsandsiblings and descendants). In addition, a `concrete type of resource` may also be used (for example, references=codelist). | **none**

#### Applicability and meaning of references attribute
Expand All @@ -121,11 +133,11 @@ Maintainable artefact | Artefacts returned
AgencyScheme | *Categorisation*, *Process*, *MetadataStructureDefinition*, *StructureSet*
Categorisation | All
CategoryScheme | *Categorisations*, *Process*, *StructureSet*
Codelist | *Categorisation*, *Process*, *HierarchicalCodelist*, *ConceptScheme*, *DataStructureDefinition*, *MetadataStructureDefinition*, *StructureSet*
ConceptScheme | *Categorisation*, *Process*, Codelist, *DataStructureDefinition*, *MetadataStructureDefinition*, *StructureSet*
Codelist | *Categorisation*, *Process*, *HierarchicalCodelist*, *ConceptScheme*, *DataStructureDefinition*, *MetadataStructureDefinition*, *StructureSet*, *VtlMappingScheme*
ConceptScheme | *Categorisation*, *Process*, Codelist, *DataStructureDefinition*, *MetadataStructureDefinition*, *StructureSet*, *VtlMappingScheme*
Constraint | *Categorisation*, *Process*, DataProviderScheme, DataStructureDefinition, Dataflow, MetadataStructureDefinition, Metadataflow, ProvisionAgreement
DataConsumerScheme | *Categorisation*, *Process*, *MetadataStructureDefinition*, *StructureSet*
Dataflow | *Categorisation*, *Process*, *Constraint*, DataStructureDefinition, *ProvisionAgreement*, *ReportingTaxonomy*, *StructureSet*
Dataflow | *Categorisation*, *Process*, *Constraint*, DataStructureDefinition, *ProvisionAgreement*, *ReportingTaxonomy*, *StructureSet*, *VtlMappingScheme*
DataProviderScheme | *Categorisation*, *Process*, *Constraint*, *ProvisionAgreement*, *MetadataStructureDefinition*, *StructureSet*
DataStructureDefinition | *Categorisation*, *Process*, Codelist, ConceptScheme, *Constraint*, *Dataflow*, *StructureSet*
HierarchicalCodelist | *Categorisation*, *Process*, Codelist, *StructureSet*
Expand All @@ -136,6 +148,12 @@ Process | All
ProvisionAgreement | *Categorisation*, *Process*, DataProviderScheme, Dataflow, Metadataflow, *Constraint*
ReportingTaxonomy | *Categorisation*, *Process*, Dataflow, Metadataflow, *StructureSet*
StructureSet | *Categorisation*, *Process*, DataStructureDefinition, MetadataStructureDefinition, CategoryScheme, DataProviderScheme, DataConsumerScheme, AgencyScheme, OrganisationUnitScheme, ConceptScheme, Codelist, ReportingTaxonomy, HierarchicalCodelist, Dataflow, Metadataflow
CustomTypeScheme | AgencyScheme, _Categorisation_, _TranformationScheme_
NamePersonalisationScheme | AgencyScheme, _Categorisation_, _TranformationScheme_
RulesetScheme | AgencyScheme, _Categorisation_, _TranformationScheme_, VtlMappingScheme
TranformationScheme | AgencyScheme, _Categorisation_, CustomTypeScheme, NamePersonalisationScheme, RulesetScheme, UserDefinedOperatorScheme, VtlMappingScheme
UserDefinedOperatorScheme | AgencyScheme, _Categorisation_, _TranformationScheme_, VtlMappingScheme
VtlMappingScheme | AgencyScheme, _Categorisation_, Codelist, ConceptScheme, Dataflow, _RulesetScheme_, _TranformationScheme_, _UserDefinedOperatorScheme_

### Examples

Expand Down
11 changes: 10 additions & 1 deletion v2_1/ws/rest/docs/4_5_schema_queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ The following resource is defined:

- schema

This resource allows a client to ask a service to return an XML schema, which defines data (or reference metadata) validity within a certain context. The service must take into account the constraints that apply within that context (DSD or MSD, dataflow or metadataflow, or provision agreement).
This resource allows a client to ask a service to return a schema, i.e. a document which defines data validity within a certain context. The service must take into account the constraints that apply within that context (DSD or MSD, dataflow or metadataflow, or provision agreement).

This is typically used for validation purposes but it may also be used for communication purposes, i.e. as a way to inform providers about the data they are expected to report.

### Parameters

Expand Down Expand Up @@ -48,6 +49,14 @@ Parameter | Type | Description
dimensionAtObservation | A string compliant with the SDMX *common:NCNameIDType* | The ID of the dimension to be attached at the observation level.
explicitMeasure | *Boolean* | For cross-sectional data validation, indicates whether observations are strongly typed (defaults to `false`).

### Using an SDMX format for the response

By default, a *schema* query will return an XML schema (i.e. an `xsd` file). However, it is also possible to get the response in one of the SDMX Structure formats. In that case, the response should only include the following types of artefact: data structures, codelists, concept schemes and agency schemes. The various item schemes must only contain the following:

- For codelists, the codes that are allowed after applying the constraints up to the specified *context*;
- For concept schemes, the concepts that are used by the data structure;
- For agency schemes, the agencies maintaining artefacts that are part of the response.

### Examples

* To retrieve the schema for data supplied within the context of version 1.0 of the provision agreement EXR_WEB maintained by the ECB:
Expand Down
58 changes: 41 additions & 17 deletions v2_1/ws/rest/docs/4_6_conneg.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,43 @@ A few examples are listed below

In case the client does not specify the desired format and version of the response message, or only specifies the generic application/xml format, the SDMX RESTful web service should return:

- The most recent version, that the service supports, of the SDMX-ML Structure format for structural metadata queries;
- The most recent version, that the service supports, of the SDMX-ML Generic Data format for data queries;
- The most recent version, that the service supports, of the SDMX-ML Generic Metadata format for metadata queries.

The list below indicates the valid formats for SDMX RESTful web services, compliant with version 2.1 of the SDMX standard:

application/vnd.sdmx.genericdata+xml;version=2.1
application/vnd.sdmx.structurespecificdata+xml;version=2.1
application/vnd.sdmx.generictimeseriesdata+xml;version=2.1
application/vnd.sdmx.structurespecifictimeseriesdata+xml;version=2.1
application/vnd.sdmx.data+json;version=1.0.0
application/vnd.sdmx.data+csv;version=1.0.0
application/vnd.sdmx.genericmetadata+xml;version=2.1
application/vnd.sdmx.structurespecificmetadata+xml;version=2.1
application/vnd.sdmx.structure+xml;version=2.1
application/vnd.sdmx.structure+json;version=1.0.0
application/vnd.sdmx.schema+xml;version=2.1
- The most recent version, that the service supports, of the SDMX-ML Structure format for **structural metadata** queries;
- The most recent version, that the service supports, of the SDMX-ML Generic Data format for **data** queries;
- The most recent version, that the service supports, of the SDMX-ML Generic Metadata format for **reference metadata** queries;
- An XML schema (i.e. an `xsd` file) for **schema** queries.
- The most recent version, that the service supports, of the SDMX-ML Structure format for **data availability** queries;

The list below indicates the valid formats for SDMX RESTful web services, compliant with version 2.1 of the SDMX standard, organized by type of queries. The default media type is highlighted in bold.

#### Structural metadata queries

- **application/vnd.sdmx.structure+xml;version=2.1**
- application/vnd.sdmx.structure+json;version=1.0.0

#### Data queries

- **application/vnd.sdmx.genericdata+xml;version=2.1**
- application/vnd.sdmx.structurespecificdata+xml;version=2.1
- application/vnd.sdmx.generictimeseriesdata+xml;version=2.1
- application/vnd.sdmx.structurespecifictimeseriesdata+xml;version=2.1
- application/vnd.sdmx.data+json;version=1.0.0
- application/vnd.sdmx.data+csv;version=1.0.0;labels=[*id*|both];timeFormat=[*original*|normalized]

#### Reference metadata queries

- **application/vnd.sdmx.genericmetadata+xml;version=2.1**
- application/vnd.sdmx.structurespecificmetadata+xml;version=2.1

#### Schema queries

- **application/vnd.sdmx.schema+xml;version=2.1**
- application/vnd.sdmx.structure+xml;version=2.1
- application/vnd.sdmx.structure+json;version=1.0.0

#### Data availability queries

- **application/vnd.sdmx.structure+xml;version=2.1**
- application/vnd.sdmx.structure+json;version=1.0.0

### Selection of the Appropriate language

Expand All @@ -55,3 +75,7 @@ Compression could be enabled using the appropriate [Accept-Encoding header](http
The [Vary header](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html) is used to indicate the list of headers that are relevant for a particular service.

For example, services that offer data in multiple formats will rely on the HTTP Accept header, but this header will likely be irrelevant for services that support only one format. Using the `Vary` header to indicate which headers are effectively used by the server helps web caches and Content Delivery Networks to build appropriate cache keys.

### A note about SDMX-CSV

SDMX-CSV offers the possibility to set the value for two parameters via the media-type. These parameters are `label` and `timeFormat`; both are optional. The default values for these parameters are marked with * in the above media-type (i.e. `id` and `original` respectively). For additional information about these parameters, please refer to the [SDMX-CSV specification](https://sdmx.org/?sdmx_news=sdmx-csv-format-specifications-just-released).
Binary file modified v2_1/ws/rest/docs/rest_cheat_sheet.odt
Binary file not shown.
Binary file modified v2_1/ws/rest/docs/rest_cheat_sheet.pdf
Binary file not shown.
12 changes: 0 additions & 12 deletions v2_1/ws/rest/src/README.txt

This file was deleted.

Loading