skip to main |
skip to sidebar
I was looking through my notes about articles that I had read - and found an interesting Burton Group report entitled Generalized and Detailed Data Models: Seeking the Best of Both Worlds. (I think that it was published earlier this year.) I must admit to having been both confused and intrigued by the title. :-)In the paper, "generalized" models are those used to define database/storage structures and to find the general themes and fundamental aspects of the data (and its values). In short, they are the data models defined by IT to effectively and efficiently use the technologies that are in place (like SQL databases). Maybe "reduced" is a better word than "generalized" ...On the other hand, "detailed" models are those that are useful to business people. They define and describe the information requirements of the business, and its vocabularies, rules and processes. They hold the details from the business perspective. Again, maybe another word like "conceptual" is better (since even the "generalized" models hold "details") ...What is valuable is not the titles used for these models but their semantics. :-) The key message is that a business needs both types of models and they need to stay in sync. This is really important. The conceptual/detailed models hold the real business requirements and language. They haven't been reduced to basic data values whose semantics are lost in the technology used to define and declare them.IMHO, a business loses information and knowledge when it only retains and works from the IT models. There is much to be gleaned from the business input and much value in keeping the business people engaged in the work. This is almost impossible once you reduce the business requirements to technology-speak.
As the report says, "do not allow generalized models to compromise your understanding of the business."
Wolfram|Alpha is cool and uses great, new technology to provide question-answer query capabilities. But, it still has a way to go. As Read-Write-Web pointed out in their post, "the areas where Alpha exceeds are in Mathematics, Engineering, Chemistry, Physics, and the Life Sciences." What is needed is to take this technology and use it with business vocabularies and their backing databases.
To do this, you first need the capture of the vocabularies (yes, I will get back to this in my postings :-) - and then mappings to the physical stores. Microsoft's EDM (Entity Data Model) and Entity Framework are a start in enabling the mappings. They allow you to define a conceptual model, a physical model and then map between the two - although they don't help you create the conceptual or physical models, are not focused on conceptual modeling, and are too focused on the physical structure of the data store. Specifically, some of the ideal mappings are not possible (at least the last time that I tried), and all the data and meta-data that I would like to capture about the conceptual model are not possible to do (without extensions). But, they exist, are usable today, and will definitely be improved.
Another cool thing is that EDM and the framework allow you to write queries in the conceptual model, that are then translated to the physical one and run against the store. Pretty neat. Now, let's put a better query capability up front (like Wolfram|Alpha) ....
Most people think of Semantic Web as a "pie in the sky", impossible "field of dreams". But, that is being short-sighted. Semantic web technologies are here today and being used for some extremely interesting work.Typically, you hear about semantic web as a way for computers to understand and operate over the data on the web, and not just exchange it via (mostly XML-based) syntaxes. However, to "understand" something, you must speak a common language and then have insight into the vocabulary and concepts used in that language. Well, the semantic web languages exist - they are standards like RDF (Resource Description Language), RDF-S (RDF Schema), and OWL (Web Ontology Language). These syntaxes carry the details of the concepts, terms and relationships of the vocabulary. (Note that I provided only basic links to the specifications here. There is much more detail available!)One problem is defining the syntax - and we are getting there via the work of the W3C. The next problem is getting agreement about the vocabulary. That is much harder - since every group has their own ideas about what the vocabulary should be. So, here again, the Semantic Web steps in. Semantic Web proponents are not just researching how to define and analyze vocabularies (you could also use the word, "ontology", here) - but how to merge and align them!So, where does this intersect with business? Businesses have lots of implicit vocabularies/ontologies (for example, belonging to procurement, accounts payable, specific domain technologies integral to the organization, IT and other groups). And, business processes and data flows cross groups and therefore, cross vocabularies - and this leads to errors! Typically, lots of them!Does this mean that everyone adopt a single vocabulary? Usually that is not even possible ... People who have learned a vocabulary and use it to mean very specific things, cannot easily change to use a new, different word. Another problem is agreeing on what a term means - like "customer" (is that the entity that pays for something, an end-user, or some other variant on this theme?). Changing words will cause a slow down in the operations of the business due to the need to argue over terminology and representation. Then if a standard vocabulary is ever in place, there will be slowdowns and errors as people try to work the new vocabulary into their practices and processes. (BTW, I think that this is one reason that "standard" common models or a single enterprise information model are so difficult to achieve.)How do we get around this? Enter the Semantic Web to help with the alignment of vocabularies/ontologies. But, first the vocabularies have to be captured. Certainly, no one expects people to write RDF, RDF-S or OWL. But, we all can write our natural languages - and that takes us back to "controlled languages" as I discussed in my previous post. I have a lot of ideas on how to achieve this ... but, this will come in later posts.So, more on this in later weeks, but hopefully this post provides some reasons to be interested in the semantic web (more than just its benefits to search) ...