Skip to content

Schema reference

The schema is defined in C# at DataSolutionAutomation/DsaModel and shipped as DataSolutionAutomation on NuGet. The pages here are generated directly from those C# files - the C# library is the canonical description, and the JSON Schema file at GenericInterface/interfaceDataSolutionAutomationMetadataV2_1.json mirrors the same shape for validation.

  • BusinessKeyComponent - An individual component of a BusinessKeyDefinition. A business key is composed of one or more components, each referencing a Data Item. The ordinal position records the order of
  • BusinessKeyDefinition - A business key definition is a special object that is defined as an optional property of a data object mapping. It captures how a business key is composed from one or more `Busines
  • Cardinality - Captures the cardinality and ordinality of a relationship. Cardinality defines the number of occurrences of one entity that are associated with the number of occurrences of another
  • CardinalityRange - A min/max range used for one end (from or to) of a Cardinality. For example “min”: “1”, “max”: “N” expresses “at least one, possibly many”.
  • DataClassification - Used to define a list of classifications (labels) and notes to add to various components of the schema definition.
  • DataConnection - Connectivity information, that can be used for either a DataObject or DataObjectQuery. This is be a key, token, reference, connection string and similar.
  • DataItem - Data items belong to data objects. They describe the individual elements, such as the columns in a table or headers in a file. A Data Item can also represent a query expression (a
  • DataItemMapping - The individual column-to-column mapping between source and target Data Items.
  • DataItemMappingRef - A lightweight, identifier-based variant of DataItemMapping for use inside a Relationship. Instead of embedding the full source and target Data Items (which already live elsewhe
  • DataObject - The definition of a data set, file, or table. A Data Object can be the source or target in a DataObjectMapping. A Data Object can also represent a query (a view, script, or proce
  • DataObjectMapping - The mapping between a source and target data set, table, or file. The DataObjectMapping defines an individual source-to-target mapping (an ETL process). It connects one or more `Da
  • DataObjectMappingList - The schema’s top-level object is a ‘DataObjectMappingList’. It is an array of individual source-to-target mappings called ‘DataObjectMappings’, commonly referred to as ‘mappings’.
  • Extension - A free form key/value pair addition that can contain additional context.
  • Relationship - A relationship from one Data Object to another. This can apply at conceptual, logical, and physical levels. Supports lineage relationships (e.g. parent/child), foreign keys, and su
  • TemplateMapping - A reference to a template file that should be applied to the parent object. Template mappings let metadata travel together with the templates used to generate code from it.