What Is Data Semantics?
Man has always searched for meaning in life, and this curiosity carries over to the world of language and data as well. Data semantics is the study of the meaning and use of specific pieces of data in computer programming and other areas that employ data. When studying a language, semantics refers to what individual words mean and what they mean when put together to form phrases or sentences. In data semantics, the focus is on how a data object represents a concept or object in the real word.
Data semantics is highly subjective. If a person who has never worked with a computer database tries to pull information from it, the words and phrases used to access the database would make no sense. Semantic meaning occurs only when a group agrees on specific definitions for certain data types or words. For others to pick up on these semantic meanings, they cannot change. If the word "dog" referred to a furry, four-legged animal one day and a two-legged bird the next, it would lose its meaning and no one would know what another person meant when she said "dog."
The need for data semantics arose in the 1970s when the United States Air Force developed a program to help people communicate more clearly about current manufacturing techniques they were using. By doing this, they could improve manufacturing processes. The program, known as the Integrated Computer-Aided Manufacturing program (ICAM), employed methods known as the IDEF (integration definition) methods which produced various models of how the system should work.
One example of how data semantics helps relate pieces of code or data to the real world is a library card catalog. Originally, book records were stored in alphabetical order on slips of paper in a filing cabinet. To look up a book, a patron would flip through the cards until he found the book title he wanted. In a computer database, a space of memory for holding a book's title and information can be thought of as a virtual version of the original paper title card.
Though data semantics is highly abstract on many levels, it has a simple goal. It allows those working with data to come up with a clear, defined set of rules that everyone can understand and follow. The creation of data semantics is similar to mapping out grammar and style rules that determine how words are used together to convey a specific meaning.
@Mammmood - I get the impression that the semantic data model is more high level than what you’ve described. I think people put these models together before they even have data to look at.
The whole purpose is so that when there is data, they can easily glean meaningful information and separate it from the “noise” of data that serves no purpose.
It seems that semantic data is an abstraction of the data that is in the database. I think it’s kind of like object oriented programming, where you create classes that mimic objects in real life.
It sounds interesting, although I admit I am not familiar with too many real world examples of semantic data modeling. I supposed it would be used more in semantic data mining than it would be in software development (my domain).
The best use I can think of for semantic data modeling in my line of work would be building a model of the software before the database is actually put together. In other words it would be a top down approach of looking at the data. I don’t know if that’s exactly the same thing but I think it’s quite close to its description in the article.
Post your comments