Here are some thoughts about making use of ontologies as the common data model for data integration.
Conceptualization: As a means for knowledge representation the ontology engineering process requires a conceptual view on the domain to be modeled. That means its is crucial to understand and define properly the concepts within the domain without entangling oneself into technical details of storage systems or applications to be developed. This perspective enables the development of better models of the domain.
Standard Conformity: The Semantic Web vision led to the definition of standards which are part of the Semantic Web stack, like RDF, RDFS, OWL, SHACL etc. This set of standards and their combination are the most sophisticated way for developing ontologies. Making use of standards is essential for interoperability of systems.
Enforcing Collaboration: The ontology development process, usually referred to as Ontology Engineering, requires the collaboration of both the experts of domain and the Knowledge Engineer. Therefore, developing an ontology always means an instensive collaboration between Domain Experts and Knowledge Engineers. The quality of the ontology depends essentially on this aspect. The better a team of Knowledge Engineers and Domain experts collaborate the better the quality of the ontology will be. This helps both the Knowledge Engineer to acquire relevant domain expertise and the Domain Expert to think more digital.
Enforcing Consensus: One critical aspect for the success of ontologies are their potential for reusability. However, this requires an ontology to be shared by a critical number of systems and developers. Therefore, ontology developers need to keep in view that a sufficient number of Knowledge Engineers and Domain Experts need to be involved in the ontology development process. Additionally, it is very important that existing ontologies can be found and reused easily in different contexts.
Reasoning: An ontology in the context of computer science is a means to represent knowledge, so that a machine can act intelligently by making use of it. Therefore, it is one branch of Artificial Intelligence. The ability to reason (extending the explicitly given set of data with implicity information) allows machines to extend information they got by input from humans with new information.