Data Product Application Profile
Definition
- (application) profile[PROF]
-
A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications.
- profile version
-
A specific version of a profile.
- vocabulary term
-
A controlled term defined in the context of this profile.
- profile resource[PROF]
-
A resource that defines an aspect — a particular part or feature — of a profile.
Identification
The considerations and justifications for the choices made are documented here.
All IRI templates conform to [RFC6570]. |
Part | URI template |
---|---|
Profile |
|
Vocabulary term |
|
Profile version |
|
Schema |
|
JSON Schema |
|
SHACL schema |
|
Example data |
|
where:
{profile}
|
Path component — possibly nested — that identifies the profile. |
{version}
|
Major version of the profile (e.g. |
{reference}
|
Local name of the resource. |
Example: Capaciteitskaart
Part | URI |
---|---|
Profile |
|
Vocabulary term |
|
Profile version |
|
Schema |
|
JSON Schema |
|
Example data |
|
Example: NC13 Core Equipment
In this example, a nested namespace is used to group NC13 data products together.
Part | URI |
---|---|
Profile |
|
Vocabulary term |
|
Profile version |
|
Schema |
|
JSON Schema |
|
Example data |
|
Representation
-
URIs of information resources may redirect to URLs which provide the resource representation using status code
307 Temporary Redirect
. -
Non-information (or real-world) resources do not have representations, and redirect to appropriate representations offered by resources using status code
303 See Other
Part |
Machine-processable |
Human-readable |
||
---|---|---|---|---|
Language |
Media type |
Language |
Media type |
|
Profile |
PROF |
|
Antora/AsciiDoc |
|
Vocabulary term[1] |
n/a |
n/a |
||
Profile version |
PROF, RDF, JSON-LD |
Antora/AsciiDoc, HTML/JS/CSS |
Schema |
LinkML, YAML |
Antora/AsciiDoc, HTML/JS/CSS |
JSON Schema |
JSON Schema, JSON |
n/a |
Example data |
Versioning
Data product application profiles are versioned using SchemaVer — as advised by DWBP (#7):
Given a version number
MODEL-REVISION-ADDITION
, increment the:
MODEL
when you make a breaking schema change which will prevent interaction with any historical data
REVISION
when you make a schema change which may prevent interaction with some historical data
ADDITION
when you make a schema change that is compatible with all historical data
The schema and examples of course follow suit, but not the vocabulary.
Vocabulary
Profile vocabulary follow an evolution strategy where breaking changes are never allowed.
As can be seen in the definition above, the vocabulary is part of the profile itself and not any version of it. This is by design, since the stability of vocabulary is essential, since it is the terms from the vocabulary that are being used in all the data sets that use it.
Through deprecation and introduction of new URIs and statements, newer and older versions of the vocabulary model all live in one schema.