Mon, 18 Jul 2022 06:24:19 GMT — Properties
|Creation timestamp||Mon, 18 Jul 2022 06:24:19 GMT|
|Modification timestamp||Fri, 29 Jul 2022 21:24:46 GMT|
Semantic models of data sources represent the implicit meaning of the data by specifying the concepts and the relationships within the data.
Essentially, we use semantic models to impart meaning to our data by making it explicit what the data represents, that is, the concepts, and the relationships between these concepts.
What is an ontology? An ontology is a number of things. To best understand an ontology as a whole let's start with looking at some of its parts:
- A dictionary, which is a collection of terms and their definitions (for example, Merriam Webster)
- A taxonomy, which is used to create hierarchy (just like a classification of the animal kingdom)
- A thesaurus, for describing some basic relationships between terms, mostly by just specifying that two terms are related. For example, Actor is related to Academy Award
And now, finally, there is the ontology. An ontology provides all that a dictionary, taxonomy and thesaurus do but the relationships between concepts are better qualified. For example, Actor wins Academy Award.
Ontologies are essentially equivalent to semantic models and you can think of them interchangeably.
Building the Model
- There is no one correct way to model a domain — there are always viable alternatives. The best solution almost always depends on the application that you have in mind and the extensions that you anticipate.
- Ontology development is necessarily an iterative process
- Concepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest. These are most likely to be nouns (objects) or verbs (relationships) in sentences that describe your domain.
- Determine the domain and scope (a.k.a. use cases)
- Competency questions (serve as the litmus test for the model)
- Determine important concepts in the model
- Reuse ontologies
- Define classes, class hierarchy and properties
- Define constraints
- Shapes Constraint Language (SHACL)