Working towards the next version of the SWIM Supporting Material
|Table of Contents|
It is not clear in which order to read traces when there are more than one in a single semantic correspondence statement. Some traces are, in fact, qualifiers of other traces.
Is it possible to:
- somehow differentiate the traces and
- apply a reading order?
The discussion has been split into parts to make easier to follow.
The SWIM Information Definition Specification assumes that we are not yet in an environment that is fully supported by semantic technologies. Therefore, humans are the more realistic target for the semantic correspondence statements. This leads to the following statements about traces:
- The traces are to be read by humans but may be read by machines (machine processable).
- The traces are to be created and inspected by humans. There is nothing to stop machines creating the mappings but any such mappings will still need human inspection.
- The maintenance and migration of traces can be managed by machines (or humans) based on scripts.
The need for a machine readable list of mappings has been recorded in the AIRM CCB to ease the migration of mappings between versions of the AIRM. This can be summarised as the need for "machine processable" maintenance of traces.
Different types of traces
The table below uses The table below outlines the names and definition to be used for the different types of trace. The names are inspired by the words from the SWIM Information Specification's requirements.
This approach makes it clear which requirement is being satisfied by the trace.Codelist = additional / narrowing trace
|"information concept" trace||trace from the information concept in the information definition to the AIRM concept that has an equivalent or wider meaning||SWIM-INFO-|
|016 Mapping of|
|information concepts||requires one concept|
|017 Mapping of data concepts|
requires one concept trace and one data type trace
|"narrowing" trace||trace to an AIRM concept to fully describe the narrowing of the concept being mapped|
Names based on the target of the trace rather than any interp. of the trace type.
Classes = information concept
Attibute = data concept and data type
|SWIM-INFO-018 Additional traces to clarify the mapping||allows any number of additional narrowing traces|
Source and target of traces
The Interoperability Architecture provides good adviceguidance on the best place to start when looking to establish a semantic correspondence. Basically, trace to the best place to start is usually the adjacent box by defaultwithin the grid.
The usual start point depends on the requirement being fulfilled.
Best place to start: Conceptual Model.
If not found there, use Contextual Model or Logical Model
type of information definition being traced.
|Type of information definition||Best place to start||Trace name|
|information exchange requirements|
The best place to start is the AIRM Conceptual Model.
However, information exchange requirements can vary in the level of detail included. Therefore, if no suitable AIRM concept is found there, the AIRM Logical Model may also be useful.
|information concept" trace|
The best place to start
is the AIRM Logical Model.
no suitable AIRM concept is found there,
the Conceptual Model may be used for the "data concept" trace.
Note: AIRM has internal traces that are inherited by any mapping.
Clarifying traces should be in the same model as the trace being qualified.
Reading order of traces
Structure of traces - capture the dependencies between the types of traces. Can't have an "additional trace" alone or "data type" trace. The root trace is mandatory. Need to add these rules in the best practice.
see struts from programming languages
General reading order is:
- "information concept" trace
- "additional" traces (0..*)
- "data concept" trace
- "data type" trace (1)
- "additional" traces (0..*)
All traces have an AND relationship.
"narrowing" trace instead of "additional" trace
Level of semantic correspondence
Advanced users may like to add extra detail concerning the level of semantic correspondence achieved. The requirements talk about "equivalent or wider meaning". The table below contains the old AIRM Rulebook names and the skos equivalents.
|Definition being traced to is...||Annotations that can make this more explicit||or in skos|
|Wider||Specialised: The definition in the information definition is a special case of the definition found in the AIRM.||narrowMatch: |
used to state a hierarchical mapping link between two concepts.
We could allow both columns with namespace identifiers - codelist entry. Could even map to an URL to give the word.
skos is preferred but SESAR legacy is still supported.
We only need additional traces if the main trace is "specialised"
Traces cannot be annotated as "generalised" as this breaks the requirement.
It is possible to add a further notes to the mapping (or trace?). This comes in handy for example when e.g. tracing legacy interfaces that have data type constraints leading to loss of Information.
Representing traces in XSD
However it should be consistent with the information given at the AIRM homepage. Links to the according pages will also help.
This is probably handled as a separate activity after the current task is completed.
Existing qualifier names
Different artefacts have used different trace "qualifiers".
- "Data Traces", which, for the case of SWIM-INFO-017, refer to the Data Type constraints. They must be unique, and may already also contain the full definition (as the best matching AIRM concept with the correct data type constraint will be chosen), so they are logically first in line.
- "Definition Traces" which point to the comprehensive or even normative definition (when available) or to the best matching wider AIRM concept (in both SWIM-INFO-016 and SWIM-INFO 017). They must be present and must be unique, so they are next in line (top of the line for SWIM-INFO-016 actually).
- "Context Traces" that add qualifiers (i.e. implement SWIM-INFO-018). These are optional, and their order should not have semantic significance.
The Donlon example at https://ext.eurocontrol.int/swim_confluence/display/SWIM/Donlon+TOBT+Setting+Service+Description#DonlonTOBTSettingServiceDescription-InformationDefinition is almost the same. It uses:
- AIRM Semantic Trace
- AIRM Definition Trace. This seems to be in line with what is mentioned above.
- AIRM Context Trace. This appears to add the qualifiers as mentioned above.
Looking at the ISRM (Information Service Reference Model) it has:
- Main CLDM mapping. The mandatory and unique CLDM mapping indicating the AIRM element having the type of data as the OuA construct. E.g. a “time” for TSAT;
- Context CLDM Mapping. One or more optional additional CLDM mappings helping achieving a more accurate semantic definition by giving more context to the main CLDM mapping. E.g. the “TARGET” planning status for TSAT;
- IM Definition Mapping. An IM mapping allows referencing a unique IM element containing a normative definition (typically from ICAO) for the OUA construct. Can be optional or mandatory depending on contexts as explained in next chapters.
The mappings to the AIRM have the following keywords:
- ContextTrace (which can be further defined as ContextTrace_1, ContextTrace_2, etc)
Value: URN of an AIRM information or data concept
Usage Notes: This will normally point to a resource in the AIRM Information Model, i.e. an AIRM information concept. However, occasionally (e.g. when mapping the definition of certain containers), it may necessary to refer to the definition part of a (CLDM) data concept. In this case, the data type of the AIRM trace target is not part of the trace semantics.
Value: URN of an AIRM data concept
Usage Notes: When there is no accompanying DefinitionTrace, it is understood that both SWIM-INFO-016 and SWIM-INFO-017 are implemented by this trace (see note on SWIM-INFO-017)
Keyword: ContextTrace / ContextTrace_n
Value: URN of an AIRM information or data concept
Usage Notes: The first form is the standard. When more than one context traces is required on an element, the second form is used. The EUROCAE document does not formally associate business semantics with data entities, i.e. all data entities are implicitly traced to “OutOfScope: container”. The mappings of individual data fields are therefore self-contained, there is no “trace cascading”.
How many qualifiers
Can’t we survive on:
- “trace” (1 or more to either AIRM-CM or AIRM-LM; note that the URN shows whether CM or LM)
In the schema trace and trace_qualifier could then be differentiated.
2 best practices:
- Order best practice: “widest first”
- Qualifier best practice: “Trace qualifier directly after qualified trace”
Adding notes to mappings
It is maybe worth noting here that sometimes you want to put a comment on a mapping, so I am allowing this as an extra annotation. This comes in handy for example when tracing legacy interfaces that have data type constraints leading to loss of Information.
Perhaps we need to look at what "aspects" of the AIRM model are mappable to first - and also possible the level of alignment (eg exact, broader, etc aka SKOS-like).
The 'Definition:Adapted' AIRM::TaggedValue shall be completed in order to indicate the level of semantic correspondence with the source definition. The list of values is:
A data or information construct is considered to be in semantic correspondence with the AIRM if one of the following conditions holds: