· 2 min read

Modeling knowledge

These days I’ve been acting as a consulting architect for several federal government and commercial organizations where the problem of knowledge modeling has come up over and over again. It seems that the underlying issue at almost all of my clients is that there’s no easy way of understanding or documenting the business process, conceptual models, etc. I have been spending a good deal of time talking to my clients about ontologies, common vocabularies, and other related techniques for communicating business and domain concepts. Since I’m a big fan of open source I began searching for free but useful solutions because I was sure I wasn’t the only one with this problem of knowledge modeling. First I started with this article that does a good job framing the available landscape. There were dozens of options but not very many good open source ones. The one I was most impressed with is called Protégé which can be used for modeling classes (domain concepts) and automatically processing those models in a simple way. Protégé is not applicable for all knowlege modeling but it is pretty useful for common cases. According to the auhors, “Protégé is a free, open source ontology editor and knowledge-base framework” but they’re being modest because it’s actually quite useful as a class and entity modeling tool. And since you’ve the source you can take the knowledge-base and use MDA (model driven architecture) techniques to create some interesting applications. Another great feature of is that there is a good library of ontologies to view and learn from. For those of you who are into the semantic web world, there’s an OWL plugin that will allow you to edit standards-compliant ontologies. Although it’s a little old, there is a JavaWorld article that provides a good review of Protégé. There are other open source ontology editors like KAON and WebOnto but they don’t seem as feature rich or mature. See this page and this website for more detailed information on other tools.

    Back to Blog