Difference between revisions of "Explain Plan Web Services"

From Fusion Registry Wiki
Jump to navigation Jump to search
('Explain Plan' Web Service)
(Example Output)
Line 93: Line 93:
 
<pre>
 
<pre>
 
{
 
{
 
+
    "reverseMapping": false,
 +
    "input": {
 +
        "dimensions": {
 +
            "FREQ": "C55BCX",
 +
            "BIS_TOPIC": "C",
 +
            "REF_AREA": "BEL"
 +
        },
 +
        "attributes": {
 +
            "OBS_STATUS": null,
 +
            "OBS_PRE_BREAK": null,
 +
            "OBS_CONF": null,
 +
            "BREAKS": null,
 +
            "COVERAGE": null
 +
        }
 +
    },
 +
    "unmapped": [],
 +
    "mappings": {
 +
        "REF_AREA:BEL": {
 +
            "REF_AREA": [
 +
                "BEL"
 +
            ]
 +
        },
 +
        "OBS_VALUE:*": {
 +
            "EER_TYPE": [
 +
                "FIXED_EER"
 +
            ],
 +
            "COVERAGE": [
 +
                "FIXED_CVRG"
 +
            ]
 +
        }
 +
    },
 +
    "output": {
 +
        "dimensions": {
 +
            "INSTRUMENT_TYPE": [
 +
                null
 +
            ],
 +
            "REF_AREA": [
 +
                "BEL"
 +
            ],
 +
            "EER_TYPE": [
 +
                "FIXED_EER"
 +
            ]
 +
        }
 +
    }
 
}
 
}
 
</pre>
 
</pre>

Revision as of 02:50, 8 August 2023

Overview

Note: this is the explanation for the Web Services in Fusion Registry version 10.

The Registry has the User Interface feature "Test Mapping" which can be used to test an input file against a Mapping. This feature is very useful when debugging why a mapping did not occur. This page details how to directly call the Web Services that perform the explanation of a mapping

There are 2 Web Services. The firsts "explains" what series dimensions of an input file would be mapped and which would be unmapped with regards to a specifc Map, the second analyses a particular Series Key.

'Explain Map' Web Service

From the supplied file and the specified mapping structure URN, returns a JSON object stating which series were mapped and which were unmapped from the input.

Entry Point ws/secure/structuremap/explainmap
Access Secure
Authentication HTTP Basic Authentication
Http Method POST
Accepts SDMX-ML, SDMX-JSON or SDMX-EDI structure message
Content-Type application/text or application/xml

Response Format JSON object
Response Statuses

200 - Query Ok

400 - Missing Header 'URN' or Unrecognised file input

401 - Unauthorized

404 - Cannot resolve reference to Structure Map specified in URN parameter

HTTP Headers

The following header parameters must be specified:

HTTP Header Purpose Allowed Values
URN

(Mandatory) States the mapping structure to map the input data against.

A valid URN for a Mapping. E.g. urn:sdmx:org.sdmx.infomodel.mapping.StructureMap=MAPPING_TEST:SS_DF(1.0).DF_MAP_TEST

The output JSON object has 4 fields:

  • source - the URN of the DSD or Dataflow that was used as the source of the mapping
  • target - the URN of the DSD or Dataflow that was used as the target of the mapping
  • mapped - a JSON object. Each field is a unique input key that mapped. For each field is a String stating what it mapped to.
  • unmapped - a JSON Array of Strings showing which keys from the input were unmapped

Example Output

{
    "source": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=MAPPING_TEST:DF_DSD1(1.0)",
    "target": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=MAPPING_TEST:DF_DSD2(1.0)",
    "mapped": {
        "A:B:BEL": "AAAB:BEL:FIXED_EER",
        "A:C:BEL": "AAAC:BEL:FIXED_EER",
        "XXX:C:BAR": "AACC:BAR:FIXED_EER"
    },
    "unmapped": [
        "C55BCX:C:BEL"
    ]
}

'Explain Plan' Web Service

Given the supplied Key and Map, returns a JSON object stating the input, mappings and output for that series key

  • Takes the parameters "dsd", "map", "key"


Entry Point ws/secure/structuremap/explainplan
Access Secure
Authentication HTTP Basic Authentication
Http Method GET
Response Format JSON object
Response Statuses

200 - Success

401 - Unauthorized

Example Output

{
    "reverseMapping": false,
    "input": {
        "dimensions": {
            "FREQ": "C55BCX",
            "BIS_TOPIC": "C",
            "REF_AREA": "BEL"
        },
        "attributes": {
            "OBS_STATUS": null,
            "OBS_PRE_BREAK": null,
            "OBS_CONF": null,
            "BREAKS": null,
            "COVERAGE": null
        }
    },
    "unmapped": [],
    "mappings": {
        "REF_AREA:BEL": {
            "REF_AREA": [
                "BEL"
            ]
        },
        "OBS_VALUE:*": {
            "EER_TYPE": [
                "FIXED_EER"
            ],
            "COVERAGE": [
                "FIXED_CVRG"
            ]
        }
    },
    "output": {
        "dimensions": {
            "INSTRUMENT_TYPE": [
                null
            ],
            "REF_AREA": [
                "BEL"
            ],
            "EER_TYPE": [
                "FIXED_EER"
            ]
        }
    }
}