Term Store synchronization notes
- Last Updated: May 1, 2026
- 5 minute read
- Semaphore
- Documentation
SharePoint term store limitations effect what Semaphore model information can be synchronized. This section describes issues to consider when synchronizing models into the term store.
See also Configuring synchronization of a Semaphore model into the term store.
Term Store organization and Semaphore
The SharePoint term store is organized into structures corresponding to the Semaphore model structure in the synchronization process:
| Term Store Element | Semaphore Model Element |
|---|---|
| Term Store (Global) | n/a |
| Term Group | Model |
| Term Set | Concept Scheme |
| Term | Concept |
| Term: Available for Tagging | Set to true for all synchronized terms |
| Term: Default Label | Concept Label (English or default language) |
| Term: Other Labels | Concept Alternative Labels (of type "alternative label" only) |
| Term: GUID (identifier) | Default Concept ID* |
(*) In Semaphore, it is possible for multiple IDs to identify concepts in the model. One of the IDs is set as the default. This ID is used during the publish process as the unique ID for each concept. In order to synchronize to the term store, whatever the default ID is selected, it must be a valid GUID-format ID.
Additional notes:
- If an element from Semaphore is not listed in the table, it is NOT synchronized into the term store. This includes concept classes, related concepts, model history, and metadata.
- The hierarchy of Semaphore models synchronized into the term store is determined by the
has broader / has narrowerhierarchical relationship type (only). - The synchronization process updates all of the information in the configured term group (any existing non-model terms in the term group will be removed).
- The synchronization process is limited by the restrictions imposed by Office 365. These include restrictions on what can be stored in the term store (including the number of terms and what information can be stored for terms). For details on these limitations see:
Term Store polyhierarchies
A concept in Semaphore may have more than one direct parent. In other words, a concept may have two different broader terms resulting in multiple paths to the same concept in the hierarchy tree. Such a structure is known as a polyhierarchy. Semaphore does not distinguish between intra-scheme and inter-scheme polyhierarchies. However, SharePoint Online does impose limitations on which can be used.
Example
In this example, a single concept, Ghana is present in two poly-hierarchies:
- An intra-scheme polyhierarchy, under Geographic Regions, where it appears twice.
- An inter-scheme polyhierarchy, as Ghana also appears under Countries.

In this example, the concept details for Ghana show that it is a Top Concept of the concept scheme Countries. Ghana also has two broader concepts, Sub-Saharan Africa and West Africa.
Before synchronizing this using the Semaphore SharePoint Online integration, the structure can be manually created to illustrate the constraints of the environment.
In this example, a new term group called Polyhierarchy demo is created. The term sets Countries and Geographical Regions are created underneath Polyhierarchy demo. The term Ghana is added under Countries. The terms Africa, Sub-Saharan Africa and West Africa are also created. At this stage, the term store looks like this:

Next, Ghana is added under Sub-Saharan Africa. Since the term Ghana already exists, the term store Reuse Terms feature is used so a new term with a separate unique identifier is not created. The Reuse Terms feature can be accessed by right-clicking on Sub-Saharan Africa or by using the drop down icon next to it:

When the term reuse window appears, Ghana is selected and then OK is clicked.

After successfully creating an inter-scheme poly-hierarchy, Ghana can be seen in two places in the term store:

Ghana can be added under West Africa by following the same process:

Ghana is already reused, but it can be selected:

However, after selecting Ghana, an error message is returned indicating that terms cannot be shared multiple times in the same term set. This is because intra-scheme poly-hierarchies are not allowed.
In an attempt to remedy this, all instances of Ghana can be removed from the term store. Once Ghana is removed, the term store will look like this:

Ghana can now be created under Sub-Saharan Africa:

However, Ghana cannot be reused under West Africa since SharePoint doesn't allow poly-hierarchies within a given term set.
However, perhaps it can be reused under Countries. To attempt this, click on Countries, Reuse Terms, explore Geographic Regions, expand Africa and Sub-Saharan Africa, select Ghana then click OK. The screen should now look like this:

Now, click on West Africa, Reuse Terms, select Ghana and click OK.

The same error message is returned indicating that terms cannot be shared multiple times in the same term set.
This constraint applies irrespective of the level of the term. Thus, attempting to re-use the term directly under Africa (one level up from the other one), the same error is returned.
Now that the scope of the constraint has been established and validated manually, how is this handled when Semaphore synchronizes the model? Semaphore hits the same constraint and has to make a call on which relationships of the poly-hierarchy will be materialized. In this instance, the last location in alphabetical order will be the one materialized. After synchronization of the model shown in Knowledge Model Management (KMM) (at the top of this section) the term store will look like this:

Note:
The synchronization is performed in reverse alphabetical order. The first occurrence of the intra-scheme poly-hierarchy is materialized. Any following instances are ignored.