This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Types of Mapping Notation

From HL7Wiki
Revision as of 12:28, 6 June 2010 by Wordenr (talk | contribs)
Jump to navigation Jump to search

There are three types of mapping: Model-to-Model (M2M), Structure-to-Model (S2M) and Structure-to-Structure (S2S). ‘Model’ refers to a semantic model (e.g. a UML model), and ‘Structure’ means a physical data structure (e.g. defined by an XML schema or a relational database schema).

  • Commercial S2S mapping notations have been developed with the aim of transforming data instances from one structure to another, sometimes bi-directionally, or in ETL tools.
  • The primary use case of M2M mappings is to transform one model to another (often uni-directionally).
  • S2M mappings have multiple uses: asserting and testing conformance to models, and making transformations between structures. They can also support model-to-model transforms.


Any of these types of mapping can be declarative or procedural. A declarative mapping language makes statements of the form ‘the parts of formalism F1 and the parts of formalism F2 are related in these ways’; the order of statements does not matter. A procedural (or imperative) mapping language says: ‘To get from F1 to F2 , do this sequence of steps’; the sequence and interactions of the statements matter. Declarative languages are generally easier to write, understand and analyse. A declarative mapping language says what is the relationship between two formalisms, rather than how you get from one to the other.

Return to top page on mapping notations