Skip to main content
Skip table of contents

Branches (aka EntitySets)

1. Overview / Introduction

A branch in SBE is a logical collection of models (Clazzes, Mappings, and models) stored within a Partition. Each branch provides a structured workspace for managing and evolving these models in alignment with a specific Channel and Ontology context .

Branches form the primary container for working models, versioned commits, and associated metadata. They are fundamental to synchronization, publish/refresh operations, and subscription mechanisms in SBE.


2. Conceptual Role

branches solve the problem of isolating model data for a given scope (such as a tool integration, channel, or project domain) while keeping it under the security boundary of its partition.

They abstract the complex lifecycle of models (creation, modification, merging, publishing, archiving) into a single container that can be managed independently, tracked by commit history, and synchronized with external systems .

Without branches, the platform would lack the ability to version models, track lineage, and manage changes in a controlled way.


3. Design Rationale

Key design decisions for branches include:

  • Tight binding to a Partition to inherit security and access controls.

  • Context-aware operations so that all publish, refresh, diff, merge, and subscription actions respect the ontology and configuration context of the branch.

  • Support for subscriptions to share lifecycle data across channels while maintaining independence of commits.


4. Relationship to Other Resources

  • Partition – branches are always contained within a partition.

  • Data Source – Models in an branch are sourced from or synchronized to a specific external system.

  • Ontology – An branch operates within a defined ontology context (branch/tag).

  • Channels – Channels reference branches with a one-to-one relation to manage publishing and refresh operations.

  • Subscriptions – branches can be subscribed to by other branches, allowing controlled replication of lifecycle data .


5. Conceptual Usage Patterns

Branches typically follow this lifecycle:

  • Creation – Often occurs when connecting a new channel, creating a new subscription, forking an existing branch, or creating a new ontology.

  • Population – Models are imported from an external data source (via publish/refresh). Classes are authored in the explorer UI.

  • Modification – Entity sets are managed and modified in the explorer and channel manager UI.

  • Archival or Deletion – When no longer in active use, the branch can be archived.


6. Common Pitfalls, Misunderstandings, and Troubleshooting

  • Ontology mismatch – Using an branch with the wrong ontology context can cause diff/merge errors.

  • Large set performance – Very large branches can slow operations, especially during non-isomorphic transformations.


7. Further Reading

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.