Skip to main content

Message models

Arguably the most widely used specification type in semantic treehouse is the message model. This section explains the concept, how it is positioned in the semantic architecture and points to how to create and edit them.

What is a message model?

The message model notion is a central concept in semantic treehouse and it offers several functionalities to create, customize message models and to generate technical artefacts that can be used in practice.

The term message model is used as a synonym of the term 'application profile' as in the following definition:

"An application profile is a data exchange specification for applications that fulfill a particular use case. In addition to shared semantics, it also allows additional restrictions to be imposed, such as recording cardinalities or the use of certain code lists. An application profile can serve as documentation for analysts and developers." (sources: Data Vlaanderen (NL language), Data Spaces Blueprint (EN language)).

Creating and editing a message model

Message models can be created in two ways: bottom-up or top-down.

  • Top-down: Semantic treehouse offers a way to use the knowledge from domain knowledge such as ontologies or json schema documents and create an application profile for a specific use case.
  • Bottom-up: Alternatively, in the case where there is only data instances and no formal schema is provided, we offer the bottom-up approach to create a new message model from a data instance.

The figure below illustrates the central role the message model, or application profile, plays in defining a new semantic interface.

Message model positioning

The main way of editing the message model is by the STH Wizard. The wizard aims to:

  • Lower barriers of using existing semantic models and standards
  • Shape application profiles based on these semantic models
  • Generate machine-readable specifications according to open standards that can be used for software development (JSON schema, XSD, SHACL, ...)

The process of creating and editing a message model is described in the Wizard section.

An example of a message model

The example below shows an example of a message model in the domain of the flexible staffing industry. It formally describes the information about the assignment of a person to a certain company looking for flexible staff.

Message model

This message model has two versions, and it was derived from an ontology that holds a conceptual model of a bigger part of the whole staffing industry.