Additional properties file

Validation

The properties file is validated using this schema:

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "title": "Additional Object Metadata",
  "description": "Additional Object Metadata",
  "type": "object",
  "properties": {
    "IdentifierPaths": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "VariationPath": {
      "type": "string"
    },
    "TimestampPath": {
      "type": "string"
    },
    "DeleteIndicator": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "value": {
          "type": [
            "string",
            "boolean",
            "number"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "path",
        "value"
      ]
    },
    "ArchiveIndicator": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        },
        "value": {
          "type": [
            "string",
            "boolean",
            "number"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "path",
        "value"
      ]
    },
    "AdditionalProperties": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "additionalProperties": false
} 

Properties

This table shows each of the properties that can be included in the file. All properties are optional.

Property Description
IdentifierPaths The set of properties of the data object that identify the object. This applies if the data object consists of a single JSON or DSV object.

Alternatively, the set of properties of the data objects. This applies if the data object holds a newline-delimited list or an array of objects.

Each property in the array must be a JSON path to the property that is the identifier or part of the identifier.

VariationPath The path to a property that indicates a variation number or variation string. This must be a JSON path.

If this property is available, then it can be used for these purposes:

  • To determine the sequence in which multiple changes on a single object took place
  • To find the latest version of an object

If the variation is a string value, then it is expected to contain a datetime. Variation strings that are not datetimes may not behave as expected when querying data from Data Lake.

TimestampPath The path to a property that indicates the moment the object was last updated or created in the application that owns the data. This must be a JSON path. The property it refers to must have a date-time format.

If this property is available, then it can be used to determine the order in which changes on a set of objects from the same application took place. This property is less accurate than VariationPath, but can be used across objects.

AdditionalProperties

This area can be used for additional properties that are not owned or prescribed by the Data Catalog. Any custom properties for applications must be added here.

Note: When you add additional properties, ensure that the name of each property is unique. We recommend that you include the application logical ID as a prefix to the property name.
DeleteIndicator The path to the property that indicates whether the object is deleted, or marked as deleted, and the property value to indicate that. The property must be a boolean, number, or string, and the specified value must match that data type.

When you use DeleteIndicator, these properties are required:

  • path - The path to a property that holds the delete indicator for the object. This must be a JSON path.
  • value - The value of the delete indicator property to determine that the object is deleted. This value can be a string, boolean, or number. The value must match the data type of the property that “path” is pointing to.
ArchiveIndicator The path to the property that indicates whether the object has been archived in the source application, and the property value to indicate that. The property must be a boolean, number, or string, and the specified value must match that property's data type.

When you use ArchiveIndicator, these properties are required:

  • path - The path to a property that holds the archive indicator for the object. This must be a JSON path.
  • value - The value of the archive indicator property to determine that the object is archived. This value can be a string, boolean, or number. The value must match the data type of the property that “path” is pointing to.

Example

This code shows an example of an object’s properties file:

{ 
   "IdentifierPaths":[ 
      "$.*.myIdProperty",
      "$.*.mySecondIdProperty"
   ],
   "VariationPath":"$.*.myVariationId",
   "TimestampPath":"$.*.myTimestampProperty",
   "DeleteIndicator":{ 
      "path":"$.*.myDeleteIndicatorProperty",
      "value":"deleted"
   },
   "ArchiveIndicator":{
        "path":"$.*.myArchiveIndicatorProperty",
        "value":true
    },
   "AdditionalProperties":{ 
      "infor_ies_searchPath":{...},
      "infor_ies_indexDefinition":{...},
      "acme_myCustomThingies":{...}
   }
}