Data schema versioning

OS NGD data schema versioning

Through the OS NGD, Ordnance Survey aims to iterate and release data enhancements quicker than ever before. We want to be able to do this without disrupting customers who have adopted data schemas and are heavily reliant on a specification remaining the same for a longer period of time. With this in mind, the OS NGD is able to run multiple data schema versions for a single feature type at any given time.

Data schema version: The specification to which OS delivers an OS NGD feature type. This includes the attributes a feature type contains, what the attributes are called, the data types of the attributes, whether they are nullable, the precision (if applicable), the scale (if applicable), whether there is a code list associated with an attribute, and the max length (if applicable).

When we release a new data schema version in the OS NGD, the changes will be visible on the feature type pages of this documentation platform. As you can see from the image below, each attribute on a feature type page states which data schema version it is present within, with the Version Date attribute in the example below being present in both data schema version 1.0 and 2.0:

Please note that data schema versioning is implemented at a feature type level. Therefore, increments and withdrawals of data schema versions are done at a feature type level and not at an OS NGD wide level.

How has data schema versioning been implemented?

As new enhancements are made to a given feature type in the OS NGD which require the schema to be uplifted (for example, data schema version 2.0 being created), the new data schema version will become available via the OS NGD access services (i.e. OS Select+Build and the OS NGD APIs). This new data schema version will become known as the 'latest', with the previous data schema version becoming known as being in 'maintenance'.

Latest: The latest data schema version released for a given feature type.

Maintenance: An older data schema version for a given feature type, but one which is still receiving updates and can be accessed by customers via OS NGD access services.

End Of Life: A retired data schema version for a given feature type which is no longer receiving updates and cannot be ordered by customers via OS NGD access services.

When using the OS NGD access services, you will be able to choose which data schema version you want to use for feature types when ordering or interacting with the data. You can choose from data schema versions which are in the 'latest' or 'maintenance' states.

If you choose not to specify a data schema version for a given feature type or if you don't change the selection from its default, then you will always be provided with the latest data schema version for that feature type.

Older data schema versions (i.e. those in a maintenance state) will remain in the OS NGD for a period of time; it's important to note that these maintenance versions will continue to receive updates. Before any data schema version is retired for a given feature type (i.e. when it no longer receives updates and will be removed from the ordering and selection process), customer communications will be distributed and a notice period will be issued to allow sufficient time for customers to upgrade to a newer version of a data schema.

Worked example

In the worked example below, we demonstrate how a feature type has new data schema versions released (V2.0 and then V3.0), while maintaining older data schema versions (V1.0 and then V2.0), before the original data schema version (V1.0) moves into end of life and is retired.

  • In this example, the feature type starts with a single data schema version (V1.0), known as the latest data schema version.

  • At a point in the future, data enhancements are made which require the data schema version to be uplifted, so a second data schema version (V2.0) is released. As there can only be one latest data schema version (V2.0), the original data schema version (V1.0) drops down into maintenance – but it still receives updates and is still accessible to customers via the OS NGD access services.

  • Further again into the future, additional new enhancements are made to the feature type, requiring a third data schema version (V3.0) to be released. Again, as before, there can only be one latest data schema version for a feature type (V3.0), so the second data schema version (V2.0) drops down into maintenance. Two data schema versions (V1.0 and V2.0) are now in maintenance, but again, both are still receiving updates and are accessible to customers via the OS NGD access services.

  • At a future point, and after customer communications have been distributed and a formal notification period has elapsed, it is decided to retire the original data schema version (V1.0). V1.0 therefore moves into end of life state, where it stops receiving updates and can no longer be accessed by customers via the OS NGD access services. V3.0 remains the latest data schema version and V2.0 remains in maintenance, with both data schema versions receiving updates and being accessible to customers via the OS NGD access services.

Last updated