About Semantic Modeler's Merge Strategy

Semantic Modeler's merge strategy evaluates changes at the level of properties, arrays, and objects to automatically combine compatible changes and identify overlapping conflicts or ambiguous edits that require manually reconciliation.

The standard Git merge operates at the text (line) level and manages branching, version history, and the overall merge process. When multiple users collaborate on a shared semantic model, changes made in parallel must be reconciled in a predictable and safe way.

The Semantic Modeler's merge strategy is tailored to the structure and dependencies of the semantic model. And it evaluates changes at the model level, for example, entities, attributes, and relationships, to detect conflicts, preserve integrity, and prevent invalid states.

See Change Git's Merge Strategy.

Change Types

This section lists and defines the possible types of changes the merge can evaluate. A change type classifies how a model element differs from the base version, which allows the system to determine how to merge or resolve that change relative to other branches.

Note that each model element supports all or a subset of these change types.

  • No change: Neither Local or Remote branch modifies the property, item, or object since Base.
  • Addition: Local or Remote branch adds property, item, or object. Property, item, or object not in Base.
  • Deletion: Local or Remote branch removes property, item, or object that is present in Base.
  • Modification: Local or Remote branch changes value of a property, item, or object that is present in Base.
  • Reorder: Local or Remote branch modifies the sequence or order of items in an array or array of objects present in Base. This change type only applies to order-sensitive objects.
  • Rename: Local or Remote branch changes an object's unique key present in Base. This change type only applies to objects with unique identifiers.

Generic Merge Rules

Semantic Modeler's merge strategy uses these generic rules.

For rules specific to model elements, see Merge Rules for Single-Value Properties, Merge Rules for Arrays of Values, and Merger Rules for Arrays of Objects (Key-Based).

Local Modification Remote Modification Rule (Natural Language) Result
Change No change Local branch makes change. Merge results include change. Local change kept
No change Change Remote branch makes change. Merge results include change. Remote change kept
Change (same) Change (same) Local and Remote branches make the same change. Merge results include change. Change kept
Change (same value) Change (same value) Local and Remote branches make change to the same value. For example, Local changes value to X, and Remote changes same value to X. Merge results include change. Change kept
Change (different value) Change (different value) Local and Remote branches make change to different values. For example, Local changes value to X, and Remote changes same value to Y. Merge results in conflict that user must resolve. Merge conflict