What’s the difference between a data model and an ontology?
And the answer is, actually, very little. In short, an ontology is a data model built by a knowledge engineer.
The most common reason for developing an ontology is to organize information to enable effective searching.
One of the most common reasons to develop a data model is to organize data to support effective query.
The distinctions between the two, while somewhat significant in the past, are destined in the near future to become increasingly moot.
Ontologies and taxonomies have historically been the domain of Knowledge Management (KM) practitioners, “information modelers”, “knowledge engineers”, “ontological engineers”, etc.
Since the volume of data in businesses is increasing at an even faster rate (to say the least) than its structure, now is the time for data modelers to seize the opportunity of ontologies and taxonomies.
Ontology engineering can provide a number of other valuable contributions to a combined KM/DM discipline, including
- techniques for analysis and design of content
- techniques for analysis and design of hierarchies
- reusable models, including content
- a variety of software tool support
Typically a data modeler will work on a model until a first-cut physical design can be generated, and then ramble off to the next project—much to the detriment of the finished product. Any data modeler who has watched a good design being compromised by questionable content should see the value in going another level below tables and columns.
Designers of ontologies and taxonomies routinely cross back and forth between form and content (schema and instance, in other words), and their experiences bridging these two worlds will be a valuable contribution to data management. One of the advantages of dimensional modeling over conventional entity-relationship modeling is that a comprehensive dimensional analysis compels the data analyst to move out of his comfort zone and across the gap between form and content--between class and instance.
Ontologies, as a matter of course, address both form and content, actually often doing a better job on content than form.
Closely related to the analysis of content is the analysis and design of dimension hierarchies, known in the KM community as taxonomies. Across the data modeling community, few details on methods for analysis and design of “reference data” such as hierarchies appear to exist.
Ontology builders like BeauTec routinely utilize shared practices and guidelines for identifying and designing hierarchical taxonomies within an ontology. Many of these practices have been influenced by the object-oriented notions of classes and class hierarchies.
Data modeling practitioners like BeauTec have invested significant effort in the development and dissemination of reusable data models. However, as is the tendency in data modeling in general, these efforts have concentrated more or less exclusively on form rather than content.