Repository Root Objects
The root object is the top-level object in a repository. There is one root object for each repository instance. It is the object from which all navigation begins. All information models and workspaces in a repository are associated with the root object.
As with any repository object, the root object can have any number of relationships with other objects. Each relationship connecting the root object to other objects must conform to a relationship type. The relationship type to which these relationships conform is created by the information model creator. The following figure shows seven such relationships.
The root object occupies a special role that spans both parts of the repository object architecture. In the Repository Type Information Model (RTIM), it is the starting point for navigating to your information models. However, it also belongs to the Repository Engine Object model because it services the repository engine. In addition, it does not describe type information to the same extent that other RTIM objects do. Although you are not prohibited from doing so, it is better to avoid setting properties on the repository root object.
You can access a repository root object from Automation or COM programs using the ReposRoot object, the ReposRoot class, or the IReposRoot interface.