Schemas define the organization of data in each partition of a layer, both the structure of the data and its content. In the HERE platform, schemas are defined using Protocol Buffers. If you are reading or writing data to a layer, use the layer's schema to understand the structure of the data you receive, and the way your data should be structured to write it to the layer. Schemas are also used by pipelines to operate on data.
If you are creating your own catalog and layers, including a schema for each layer enables you to share data with others by defining how others should consume the data.
Once you assign a schema to a layer you can change it at any time, even remove it when necessary.
Only the catalog owner can change its schema.
Be careful not to break schema compatibility with existing data as data consumers might depend on it. If the new schema is incompatible with the old schema, existing applications may no longer be able to read data from the catalog.
The HERE platform includes services that enable you to create, store, and share schemas, as well as leverage HERE-provided schemas. To view schemas, log in to the platform portal, click Data then click Browse Schemas.
HERE provides several complex schemas which are used in HERE data and are available for you to use with your own data layers. Examples of HERE schemas include:
And several map data schemas.
Using these schemas provides advantages, including:
User-defined schemas are ones that describe the structure of data in user-created catalogs. To create a custom schema, download the SDK and leverage the Schema Archetype project. Schemas are held to the same privacy standards as the data itself, which means that all schemas and data are private by default. Only the schema creator can access the schema until it is shared or used within the HERE platform to operate on the data or visualize the data on a map.
You must have the HERE Workspace Plan to create a schema.
It is possible to ingest schema-less data into the HERE platform. Schema-less data may be appropriate if the data is only used by the data producer and never shared. Also, if you are working with GeoJSON data, you do not need a schema.
Ingesting schema-less data is also useful if you want to reduce the initial overhead of getting your data into the HERE platform. You can ingest the data without a schema, then transform the data using a schema later.