Working with Ontologies
Befitting their importance in machine learning applications, Ontologies are a first-class entity in the Encord platform, with direct connections to users, Organizations, and Projects. One Ontology can be linked to multiple Projects simultaneously, while Projects can only have a single Ontology
Edit Ontologies
Modifying an Ontology impacts all Projects it is linked to, potentially leading to issues with existing labels. We strongly advise against altering Ontologies that are currently in use by Projects with labeled data, as this can result in corrupted labels, making them invalid for training machine learning models. Deleting parts of an Ontology may also leave behind orphaned labels, which require cleanup.
You can edit any Ontology by updating its structure in the same way you did during the creation process. To edit an Ontology, simply select it from your list of Ontologies.
If you attempt to edit an Ontology used by multiple Projects, a warning appears. The Linked Projects pane in the Ontology Settings will show a list of all Projects using that Ontology.
- Best practice: We recommend copying the Ontology, making the necessary changes to the duplicate, and using the revised version in future projects. This approach minimizes the risk to existing data while allowing you to implement updates.
- Avoid changes to active Ontologies: Editing an Ontology that is in use is generally discouraged. While adding new elements is usually safe, renaming or modifying existing ones can corrupt labels and compromise your data.
- Be cautious with deletions: Deleting parts of an Ontology is not recommended, as it may result in orphaned labels that need manual cleanup.
- Programmatic migrations: If changes are necessary, we can run programmatic migrations. However, this process must be carefully scoped and coordinated with our support team. Contact support for assistance.
Ontology settings
Select an Ontology, and navigate to the Settings tab to access the Ontology’s settings.
Copy Ontologies
An Ontology can be copied in the Options page of the Ontology’s settings. Click the Copy ontology button to copy the Ontology.
Copying an ontology copies all object primitives, and you have the option to copy any team members associated with the Ontology. The new Ontology is not attached to any Projects.
Manage collaborators
Team members / collaborators associated with the Ontology are managed in the Team pane of the Ontology’s options.
Add collaborators
- Click the Invite collaborators button to add users to the Ontology. A dialog appears.
- Type the email address of the user(s) you want to add, and select the role you want to give these users.
- Click Add to add these users to the Ontology.
Change collaborator role
To change the role of a collaborator on the Ontology, click the dropdown and select the role you want to apply to the user.
- Users with the Admin role can modify the Ontology
- Users with the Viewer role cannot make changes to the Ontology. However, a Viewer can copy the Ontology.
Delete collaborators
Delete collaborators by clicking the Delete icon next to a user’s name.
Object primitives
Object primitives (formerly called Skeleton templates) are customizable Ontology class.
To create an object primitive:
Object primitives are created in the Object primitives section of the Settings tab of an Ontology. Here you define a configuration of key points, and the vertices between them.
- A. ‘Add a primitive’: Start creating a new object primitive template.
- B. ‘Names hidden’: Show or hide the vertex names in the canvas.
- C. ‘Add a point’: Add more points on the canvas. Points are added to the list of points as they are made.
- D. ‘Add an edge’: Add more edges. Mouseover the first point and click once before clicking over the
end point of the edge. Edges are added to the list of edges as they are created. - E. ‘Move/edit’: Move vertices. Mouseover the vertex you wish to move. Click and drag to move the target vertex to the new desired location.
- F. ‘Save current state’: Save the template. If you exit the editor screen without saving all your work will be lost.
- G. ‘Name’: Enter a name for this object primitive. This name will be displayed in the ontology structure object annotation type selection.
- H. ‘Delete template’: Delete this object primitive. Please ensure you’ve removed this object primitives from
all connected objects before deleting, or the ontology structure may enter an unstable state. - I. ‘Points’: List of points with their coordinates and names. Coordinates are defined as (0, 0) in the
upper left. You can also add points using the + Add a point button at the bottom of the list. - J. ‘Edges’: List of edges. You can also add edges by using the + Add an edge button at the bottom of the list.
- Click Add a primitive (A).
- Give your primitive a meaningful name.
- Click Add. You are now ready to set up your primitive.
- Click Add a point (C). Add as many points as you need.
- Click Add an edge (D). Connect your points as needed.
- Click Save current state (F) to save your primitive.
To use your object primitive:
Return to the Structure tab of your Ontology. Your object primitive is available for selection when adding a new Ontology object. Once selected and saved, the object primitive is available within the Label Editor.
Linked Projects
The Linked projects pane shows a list of Projects using the Ontology. You can jump to any of the projects displayed by clicking the View link.
Delete Ontology
Use the Danger zone pane to delete an Ontology.
View and join Ontologies in your Org
Organization Admins can search for and join any Ontology that exists within the Organization.
- Navigate to Ontologies in the Encord platform.
- Select the All Encord ontologies tab.
- Find the Ontology you want to join.
- Click Join ontology to join the Ontology.
When an Organization Admin joins an Ontology, they are automatically assigned the Admin user role for that Ontology.
Was this page helpful?