Menu

Home Log in to Edit

Peter Lin stabet

Welcome to Oak Knowledge

Oak is an Open Source Knowledge base management framework including rule and case representations. The goal of Oak is to provide a general purpose framework for creating, storing and managing knowledge base and case base data. All data in the system is versioned with a numeric version number and update timestamp. The high level components of Oak provide a logical separation.

Rule Repository

The rule repository is a general purpose repository with CRUD and query capabilities. The rules are stored in object format using Apache Cassandra db. From past experience building rule repositories with relational databases, the cost of converting objects to relational format is a significant overhead. When a rule is decomposed into tables, saving a simple rule could involve a dozen queries. Getting the rule from the database like wise requires the same number of queries to rehydrate the rule.

The repository will provide import/export capability, so that users can import rules written in other formats and store them in Oak. It also means users will eventually be able to use Oak to translate rules from one format to another. Oak will support OMG PRR standard and CLIPS for the first release and will be compatible with RuleML 1.0 featureset particularly to enable support for a wide variety of rule types as defined in the RuleML taxonomy of rules [need to add the picture here]

Schema Repository

The schema repository provides maintenance functionality for models. One goal of the schema repository is to provide impact anlaysis and model analysis. As the models change, we need to be able to calculate the impact and determine if the changes are "good". For example, when a model changes, we want to see which rules and facts are affected. If the change is simple like renaming a property from "fname" to "firstname", we can annotate the change and use that to automatically update the rules and facts in the knowledge base.

Function Repository

The function repository provides a way to import custom functions and use them in a knowledge base. As functions change, the system should log that change, so that users can trace regressions and failures. This means each time a new version of a function library is imported into Oak, that change is logged. If the new library causes an error, we can audit the functions to see when the change was made.

Knowledge base Repository

The knowledge repository will store knowledge base data, which includes schemas, data, rules, functions and metarules. Basically, a knowledge base is everything a production rule engine or expert system shell needs to work. When a knowledge base is ready for deployment, we create a release of the knowledge base.

Case base Repository

The case repository will store cases the user defines. For the first release of Oak Knowledge, CBR functionality won't be ready. In subsequent releases, the priorities will be defined and posted on the wiki.

Knowledge base tools

One important factor is managing knowledge base data is validation, dependency analysis and impact analysis. Over time the knowledge base will change due to schema evolution and the temporal nature of data. Having good tools for managing knowledge is a key factor and reduces the over head.

Case tools

Case base reasoning has a rich history going back three decades. The list of tools is still being compiled.

References

  1. The RuleML Initiative: http://www.ruleml/.org
  2. OMG PRR: http://www.omg.org
  3. Apache Cassandra:
    4.

Glossary of Terms


Discussion

Anonymous
Anonymous

Add attachments
Cancel