Dictionary Metamodel
Dictionary metamodels specify semantically-rich types on which records can be based. Doing so creates a set of consistent, reusable type definitions that help enforce commonality across the system. For more information about data records, see the Semantic Data page.
Dictionary Metamodel Specifications
Each metadata instance should be placed in a file with the same name as your dictionary that lives within the following directory structure (to initially create this structure, please see Creating a Project):
<project-name>/<project-name>-pipeline-models/src/main/resources/dictionaries
For example:
test-project/test-project-pipeline-models/src/main/resources/dictionaries/IrsDictionary.json
Dictionary Root Element Options
The following options are available on the root dictionary element:
{
...
}
| Element Name | Required? | Default | Use |
|---|---|---|---|
|
Yes |
None |
Specifies the name of your dictionary. It should represent the functional concept of its contents and must use
UpperCamelCase/PascalCase notation (e.g., |
|
Yes |
None |
Provides a namespace that will be leveraged to differentiate between instances and provide language-specific namespacing (e.g. package in Java, namespace in XSD). |
|
Yes |
None |
The various types in your dictionary. At least one type is required within |
Dictionary Type Options
The following options are available on the dictionaryType dictionary element:
{
"dictionaryTypes": [
{
...
}
]
}
| Element Name | Required? | Default | Use |
|---|---|---|---|
|
Yes |
None |
The name of the type that is being defined and must use UpperCamelCase/PascalCase notation (e.g., |
|
Yes |
None |
The base type from the Type Manager for this dictionary type (e.g., |
|
No |
None |
Defines declarative data validation rules for this type (e.g., |
|
No |
None |
The default drift detection policy applied when this type is used in a record metamodel. |
|
No |
None |
The default data encryption policy applied when this type is used in a record metamodel. |
|
No |
None |
The default bias detection policy applied when this type is used in a record metamodel. |
Dictionary Type Validation Options
The following options are available on the validation dictionary element:
{
"dictionaryTypes": [
{
"validation": {
...
}
}
]
}
| Element Name | Required? | Default | Use |
|---|---|---|---|
|
No |
None |
The maximum length of a value in represented by this type (inclusive). |
|
No |
None |
The minimum length of a value in represented by this type (inclusive). |
|
No |
None |
The maximum value in represented by this type (inclusive). This value is specified as a string in the model to allow for integers and decimals to be supported in one metamodel field. |
|
No |
None |
The minimum value in represented by this type (inclusive). This value is specified as a string in the model to allow for integers and decimals to be supported in one metamodel field. |
|
No |
None |
The number of decimals places to support for this type (decimals only). |
|
No |
None |
A list of one or more regular expressions to be used as a pattern reference for field and attribute validation. |