RuleML Use Case NBBizKB
The New Brunswick Business Knowledge Base

Anna Maclachlan, Harold Boley, Marcel Ball, David Hirtle

Version History, 2004-02-27: First Version
Version History, 2005-07-02: Second Version

Version History, 2005-08-10: Current Version

NBBizKB is a real-world use case for RuleML knowledge bases. Its facts have been created in a systematic manner using several Metaxtract resources. This has been interleaved with the engineering of the NBBizKB rules.



The New Brunswick Business Knowledge Base (NBBizKB) is realized in Object-Oriented RuleML. NBBizKB implements a two-step design. First, facts are extracted from static CSV tables and HTML pages. Second, rules are developed to derive information implicit in the fact base. Rule derivation employs the Java-based RuleML implementation of Object-Oriented jDREW to perform validation, business category mapping, and integration. This application of RuleML rules over RuleML facts for New Brunswick business comprises both a regional e-Business case study and a use case for Semantic Web rules.

This knowledge base is described in Semantic Web Rules for Business Information at the IASTED Conference WTAS 2005 (talk, talk-pp4).

NBBizKB Facts

NBBizKB Rules

OO jDREW Execution

The RuleML facts and rules can be combined into one rulebase and executed bottom-up with the OO jDREW BU Engine.

XSLT Composition

NBBizKB is also significant as a use case for the XSLT-based upgrader stylesheets used to automatically update existing (version 0.85+) RuleML knowledge bases to the most current version. Presented here is a step-by-step trace of updating the NBBizKB knowledge bases from RuleML version 0.85 to 0.89 by the sequential application of XSLT stylesheets. Note that this process of "piping" the output of one XSLT to the input of another can be done automatically, e.g. with a simple Java program.

NBBizKB was originally realized in RuleML 0.85, the most current version at the time:

The subsequent version, RuleML 0.86, is syntactically identical to 0.85, so translation isn't necessary. RuleML 0.87, on the other hand, included significant syntactical changes (including case-distinguised Type/role tags), all of which are performed automatically via the 0.87 upgrader XSLT with the following output:

Similarly, RuleML 0.88 included a number of (mostly FOL RuleML-motivated) changes to the syntax, all of which are handled (relative to the previous version, as always) by the 0.88 upgrader XSLT, yielding the following output:

The final step of the journey to the current RuleML 0.89 is made possible by the 0.89 upgrader XSLT. The final output appears in the previous sections of this document.

Site Contact: Harold Boley. Page Version: 2005-08-10

"Practice what you preach": XML source of this homepage at index.xml;
transformed to HTML via the adaptation of Michael Sintek's SliML XSLT stylesheet at homepage.xsl (View | Page Source)