An ontology management system (OMS) is a toolkit to support the building, application, and maintenance of ontologies. Functionality can also include ontology integration, visualization, import, export, and interaction programming interfaces. There are many OMSs available, including CENtree, and TopBraid EDG. Choosing the right tool is critical when developing effective omics workflows in an organization.
This article outlines the criteria you should consider when choosing an OMS. These qualifiers were chosen by scientists with in-depth knowledge and experience in ontology engineering and management in the life sciences. We categorize the criteria as essential and desirable. We also provide use cases, competency questions, and recommendations for overcoming common execution problems. Where an OMS does not meet the criteria, we suggest an alternative system.
These qualifiers are fundamental to efficient ontology management. While most of the essential qualifiers are built into the OMS, integration with external tools may still be required to fill any gaps. It should be noted however that such integrations can increase complexity beyond recommended levels.
Collaboration is a key feature of an OMS, as ontologies are built with the help of different stakeholders. Inputs are required from ontologists who manage syntax and standards; domain experts who ensure the ontology covers the target domain sufficiently and correctly apply relationships, rules, and terminology; and analysts who ensure the ontology covers the use case.
- Does the tool allow multiple stakeholders to collaborate and discuss the entities (classes or predicates) in the ontologies?
- Does the tool allow the development of workflows for updating ontologies?
- Does the tool allow setting up different roles for different participants?
- Does the tool allow stakeholders to comment on changes made to the ontology?
- Does the tool allow review of those comments by additional stakeholders, with options to accept or reject?
- How does the tool facilitate stakeholder consensus about changes made to ontologies?
Import and export
The ability to import ontology from filesystem and public repositories, and to export ontologies in multiple serializations.
- Importing ontologies to the OMS using a public URL.
- Importing ontologies to the OMS from filesystem.
- Exporting ontologies in different formats (RDF, XML, turtle, etc.)
- Does the tool allow users to import and export ontologies in different formats (RDF, XML, turtle, etc.)?
- Does the tool allow users to import ontologies from filesystem?
- Does the tool allow users to import ontologies from public repositories?
- Does the tool allow users to import one ontology to another?
Each entity (class, predicate, or instance) in ontologies requires a unique URI. URI is, therefore, a key part of ontology management, and retaining URI uniqueness is an essential functionality in an OMS.
- Keeping URIs unique, standard, and persistent for all the unique entities in the ontologies.
- How does the tool support the uniqueness of URIs?
- Can users define their own configuration for creating URIs in a standard format?
Search, filter, and sort
Stakeholders can use an OMS to search for terms in ontologies, so efficient OMS makes it possible for users to look up specific terms. Terms are found in multiple ontologies, and identified terms can be active or deprecated, so filtering and sorting search teams is a critical requirement of an effective OMS.
- Finding a term efficiently amongst multiple or specific ontologies
- Does the tool allow users to search for a term within a specific ontology?
- Does the tool support semantic search; does the tool support customization of search criteria?
- Does the tool allow users to search for a term in a mode other than exact match?
- Does the tool allow users to sort the search results on criteria, such as date modified or creator?
- Does the tool allow users to extend search criteria, e.g., to include additional predicates in the search?
- Does the tool allow users to restrict the search within a hierarchy?
- Does the tool allow users to filter out results based on:
- Ontologies in which the term is present?
- Term status if it is an active or deprecated term?
A key objective of an OMS is to allow the users to efficiently create and edit ontologies in a user-friendly environment.
- Users may need to add new classes, predicates, instances, axioms, etc.
- Does the tool allow users to add classes and predicates in bulk?
- Does the tool allow users to move the classes in bulk from one to another?
- Does the tool allow users to add axioms?
- Does the tool allow users to add annotations in different languages?
- Does the tool recognize standards like SKOS?
- e.g., if there exists an rdfs:label and skos:prefLabel, which label would be displayed for class and concept?
- Does the tool create a unique URI automatically for a new class or predicate? Or must the user ensure uniqueness at their end?
An audit trail helps track recent changes made to ontologies. It also adds transparency and traceability to the ontology management process by highlighting changes and identifying the user that made them. Audit trail logs support business decision-making, as they reveal how much effort is being spent on the management of ontologies, which users are participating in the process, whether there are blockers, etc.
- To identify changes made to ontologies, by specific users, within a date range, by type, or by the time taken to complete.
- How easy is it to access the audit trail log, and what information does it include?
One way to control access to ontologies in a management system is by assigning permission tiers to different user groups. Such a feature would be helpful when there are stakeholders who should only be reading – but not editing – ontologies, or editing specific ontologies but not all. Sometimes it’s also possible to restrict the level of write permissions for users. There could be specific domain experts who can suggest changes in the ontologies, but those changes may require peer review and approval before they are processed.
- Users should not be allowed to make any changes to a specific ontology.
- Users should only be able to make change suggestions, which are then reviewed by peers.
- Users should be able to suggest changes and also have permission to make them live.
- Does the tool allow users to create additional users with different roles or permissions?
- Does the tool allow users to assign ontology-level permissions to other users?
Support for standards
Ontologies are generally built using standard Semantic Web technologies such as RDF, OWL, or SKOS. Standard query languages like SPARQL can also be used to assess the quality of ontologies. For interoperability and importing or reusing existing Semantic Web-based ontologies, it’s advisable to ensure the OMS supports the W3C recommended standards for building ontologies and vocabularies.
- Reusing existing Semantic Web standard-based ontologies.
- Interlinking the internal ontologies with the publicly available standard ontologies.
- Does the tool support W3C Semantic Web standards like RDF, RDFs, OWL, SKOS, SPARQL, and SHACL?
This type of qualifier is comparatively easy to source externally in instances where they are not supported by an OMS. External solutions can be integrated into the workflow to maintain best practices.
Versioning is an important feature of an efficient ontology management process. Exposing the ontologies to downstream applications is often required, which requires sufficient version control.
- Exposing different ontology versions to downstream applications. It could be because one application is ready to consume the latest version while another must remain on a legacy version. This scenario generally occurs when there are breaking changes in the ontologies.
- Capturing the state of entities at multiple points in time. For example, if there is a need to provide exact information from the ontology related to an entity at, before, or after a particular date or time.
- To assess the delta between the two versions of an ontology.
- To what extent is ontology versioning supported?
- Is the process of creating ontology versions automatic or manual?
- Is it possible to take version snapshots of an ontology after each update?
- Is it possible to roll back to any of the previous versions?
- Is it possible to find the differences between two versions?
- Is it possible to release a specific version of an ontology for use in production or usage in downstream applications?
- Is it possible to release versions of ontologies based on the consumer?
- For example, to release version 2.0 for app A while maintaining version 2.0 for app B.
- If the tool does not support efficient versioning, is it possible to integrate an external versioning system?
The ability to integrate external systems and applications is another desirable feature of an OMS. Many applications are available to use ontologies directly for many purposes, such as dropdown creation, data validation, data integration, natural language processing (NLP), and named-entity recognition (NER).
- Exposing ontologies to downstream applications for data registration and integration, enterprise glossary provision, search facilitation, model training, etc.
- Which tools can the OMS interface with?
- Is it possible to integrate the tool with a triple store or graph database and edit entities in the native UI?
- Does the tool have API connectors?
- Does the tool have read and write support for APIs?
- Does the tool allow users to write a customized API or endpoint?
- Is it possible to read and write ontologies or specific entities via APIs?
- How does the tool behave during the simultaneous read and write of an ontology?
As ontologies are developed and reused, quality control becomes a very desirable functionality. Potential quality constraints include incorrect relationship queries, correction annotations, missing domain and range, class coverage, etc. The ability to produce a quality report for each ontology is also an advantage.
- Validating ontologies against governance rules like missing or incorrect annotations
- Analyzing the changes made to the ontology
- Does the tool allow users to perform consistency checks on an ontology?
- Does the tool allow users to enforce validation rules and produce flags and alerts?
- Does the tool generate a quality or validation report for its ontologies?
Ontologies are built iteratively, often requiring multiple change rounds before reaching a mature state. Each iteration may include inputs from stakeholders such as domain experts, product managers, data analysts, or ontologists. An effective change management process captures and tracks change requests from stakeholders. It also allows efficient tracking of physical changes observed in the ontology following the change request.
- To allow the users to capture, document, and track changes and requests made by stakeholders.
- To what extent does the tool support change management?
- Does the tool allow users to collect stakeholder suggestions for changes in ontologies?
- Does the tool allow users to track the status of the suggested changes?
RDF-based ontologies can be queried using SPARQL. The advantages of query functionality include the ability to perform rapid quality and consistency checks. Users can also extract data from ontologies to expose to downstream applications.
- Extracting controlled vocabulary from ontologies
- Exposing a specific part or subgraph of ontologies to the downstream applications.
- Does the tool let the user query ontologies using W3C standard SPARQL?
Ontology visualization represents ontologies in interactive graphics.
- To navigate the structure of the ontologies and visualize the relationships between concepts in ontologies
- Does the tool let the user customize the visualization?
- For example, can the user select and deselect specific relationships for visualization?
- Can we visualize hierarchies and relationships?
- For example, can we only see hierarchical relationships, or is it possible to also see relationships among concepts?
Machine aid speeds up the process of ontology building and management. This aid can help users add annotations to a concept and map similar concepts to one another.
- Suggesting synonyms for a term when adding synonym annotation
- Facilitates ontology alignment by suggesting equivalent concepts
- Is there any help for automatic classification, annotation, or concept mapping?
Ontologies can be reused entirely, or specific concepts can be extracted to meet the requirements. However, it’s important to assess if an OMS allows importing of entire ontologies into one another, and whether the tool allows the borrowing of specific concepts from a reference ontology to be reused in a new ontology.
- Use a branch or hierarchy of a public ontology (PO) in an internal ontology (IO), keeping them in sync.
- For example, when a new class is added to the hierarchy of the PO, the IO should be refreshed.
- Building application ontologies by including one or more ontologies entirely or partially.
- Is it possible to reuse different ontologies and create an application ontology or custom schema?
- Does the tool allow users to keep track of the changes in the borrowed concepts of reference ontologies?
An effective OMS should include the functionality to build, use, and visualize ontologies. We have presented the essential and desirable criteria we recommend applying to your decision-making. Organizations may require some features more than others to support their specific objectives, and some functionalities may be replicable by external applications where they are not natively present in the OMS.
For reference, we compared SciBite’s CENtree with TopQuadrant’s TopBraid EDG, based on the criteria discussed above:
|Visualization||Graph view at class level, which allows users to see connected nodes through relationships.||Graph connections and data lineage can be visualized. TopBraid EDG diagram is their latest visualization feature.|
|Quality Control||Built-in rules and constraints, label duplication is prohibited; URI patterns can be created, and the tool ensures the uniqueness of URIs. Reasoning is not supported.||Built-in rules and constraints. Ability to add custom rules necessary to enforce best practices and ensure high-quality information. SHACL-based reasoning is possible.|
|Querying||Not supported when the comparison was made.||SPARQL can be used to query and modify data.|
|Searching||Exact lookup in the selected fields. Fuzzy search is available. Search criteria can be modified by including additional properties to search or removing the properties to search on. Filtering the results based on the facets is also possible.||Simple lookups and advanced searches are possible. Filtering of results via facets. Search results can be exported. Search can also be refined by using “match types” like contains, equals, starts-with, regex, etc.|
|Import/ Export||Import can be done using CSV/ TSV; RDF/ OWL/ other serializations; using QTT template (internal).||Import and export to/from Spreadsheets, MultiTes, Content Management Systems, SPARQL and GraphQL endpoints, Databases, and RDF/OWL files.|
|Export can be done using CSV/ TSV, RDF/ OWL/ other serializations.|
|User Management||Allows different users under different roles. Permissions of the users can be set per ontology. Groups of users can be created, and these groups can be assigned different roles and permissions.||Allows different users under different governance roles (data steward, business steward, subject matter expert, etc.). These roles can also be customized. The roles can have different permissions, like viewer, editor, and manager.|
|Versioning||Manual version creation is possible. Snapshots of ontologies can also be created at different points in time.||Versions can be created with the help of workflows. The production copy of the ontology is live while changes are made to the working copy, and after the changes are reviewed, a version can be committed to production.|
|Collaboration||Entities and changes in the entities can be reviewed in a democratic manner using a workflow (pre-built with suggester and editor type of roles).||Entities and changes in the entities can be reviewed in a democratic manner using a workflow (pre-built or custom workflow).|
|Ontology Mapping||Not part of CENtree. However, the related concepts can be lookup while adding the connection/mapping of individual concepts.||Crosswalks and mappings between two vocabularies can be auto-generated.|
|Ontology reuse||Application ontology (built by using multiple ontologies) can be easily created and maintained. It is possible to borrow specific concepts and hierarchies from other ontologies and include them in another ontology (an application ontology).||It’s possible to include other ontologies in a base ontology, but this would mean that the base ontology would have all the information from the included ontologies. Thus, the size of the base ontology can become huge.|
|Integration with other tools||REST APIs are available to access ontologies and the content of ontologies.||RESTful and GraphQL APIs. SPARQL/ GraphQL can be deployed as custom web services as well.|
|Support for standards||SKOS; limited (w.r.t instances and predicates) support for RDF/ OWL||Built-in support for W3C standards such as RDF, SPARQL, SHACL, OWL, and SKOS. Although there is a bent towards SHACL for ontology modeling activity.|
|Machine aid||Auto-completion. Pulling descriptions from Wikipedia. Facilitate the mapping to another entity in a different ontology||Auto-completion, tagger, and auto-classifier for automatically classifying the content/ documents by assigning the most relevant tags for the vocabularies. Although, the automatic classification of a document might not be directly impacting the ontology management process.|
|Governance||Every change is logged and time-stamped, and change history can be searched and queried by APIs.||Every change is logged and time-stamped, change history can be searched, and changes can be rolled back if desired.|
Y. Juan and D. Yanzhong, “A Framework of Ontology Management System,” 2010 International Conference on E-Business and E-Government, 2010, pp. 1719-1722, doi: 10.1109/ICEE.2010.435.
Noy, Natalya F., and Deborah L. McGuinness. Ontology Development 101: A Guide to Creating Your First Ontology, https://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html Accessed 10 Aug. 2022.
Meindertma, Joep. What’s the Best RDF Serialization Format?, https://ontola.io/blog/rdf-serialization-formats/. Accessed 17 Aug. 2022.
TopQuadrant. TopBraid EDG 7.3 Documentation, https://archive.topquadrant.com/doc/7.3/. Accessed 18 Aug. 2022.
SciBite. CENtree Ontology Manager, https://www.scibite.com/platform/centree-ontology-management-platform/. Accessed 18 Aug. 2022.
The OBO Foundary. Principle: Versioning (principle 4), https://obofoundry.org/principles/fp-004-versioning.html. Accessed 12 Aug. 2022.
Platform Design Guide. Versioning Rules, https://design.oftrust.net/versioning/rules. Accessed 12 Aug. 2022.
Deco, Claudia, Cristina Bender, and Adrián Ponce. “Proposal of an ontology based web search engine.” XIV Congreso Argentino de Ciencias de la Computación. 2008.
Singh, Anuj, et al. “Extension of the M-Gov ontology mapping framework for increased traceability.” OM@ ISWC. 2017.
Kamdar, Maulik R et al. “A Systematic Analysis of Term Reuse and Term Overlap across Biomedical Ontologies.” Semantic web vol. 8,6 (2017): 853-871. doi:10.3233/sw-160238
McMurry, Julie A., et al. “Identifiers for the 21st century: How to design, provision, and reuse persistent identifiers to maximize utility and impact of life science data.” PLoS biology 15.6 (2017): e2001414.