A key enabling technology for semantics is the development of GUIs that allow users to modify and edit them. This simple, but often overlooked truth is common to many technologies, but is especially significant for more abstract concepts like data semantics. You can write the most sophisticated language specifications in the world but they will get ignored unless (1) the person is forced to use them, or (2) there is a GUI. Nobody is forced to use data semantics so that leaves us with GUIs as key enabler.
A good example of the GUI phenomenon is the web itself. I well remember when I was in school using gopher and veronica there was also a odd service called the "world-wide web". Noone used this oddity because it was useless. There were thousands of sites all over the world serving program files which were accessible via ftp and gopher, but the web had only a handful of locations and they were all stupid. Nobody made "world-wide web" documents because it was a pain in ass and gopher had a drill-down capability anyway so the "link" ability of the web was just a big so what. What changed all this? Mosaic. Before Mosaic web browsers were just crude text pages that did not offer any more functionality than other browsers like FTP browsers. With Mosaic you could see pictures on screen. The rest is history.
With semantics the definitional challenge is much more intense. If you think writing HTML is a pain try writing an RDF document. The agony is excruciating. This is why GUIs are critical for doing semantics. The data definer needs a way to do their job graphically.