daml4jess: A Rewrite of DAMLJessKB
||Moderately tested, being used in my project.
||October 24, 2003
A Brief Summary
daml4jess is a rewrite of DAMLJessKB. Just like DAMLJessKB,
daml4jess enables DAML inference using Jess, the Java
Expert System Shell. It has two basic parts: a Java package and a set of
Jess rules. The Java package is used to break a DAML document into Jess
facts and insert into Jess; the set of Jess rules implement the DAML
semantics in Jess. Together they support the reasoning in DAML with Jess.
You must have asked, why rewrite? Well, DAMLJessKB is an excellent tool,
but it doesn't have some of the features that my project needs. Some
features it does support don't work well in my specific situations.
Here is a (partial) list of the daml4jess features:
Provides a tool for converting DAMLJessKB style facts/rules into daml4jess
daml4jess uses un-ordered (slots) facts for RDF statements.
XML-based configuration provides a lot of flexibility.
Friendly for extension.
Robust ontology imports management.
Eliminated most of the Jess facade methods (this may not necessarily
be a good thing, they may be added back to be compatible with DAMLJessKB,
and for the purpose of debugging).
Provides a simple but effective logging mechanism.
Provides a simple macro tool to deal with the long URIs.
Right click daml4jess to save (download).
To install, just un-jar the jar file downloaded, put the top level directory
on your CLASSPATH. Read the readme.txt to find more information
on how to play with it - there is not much, for now. You'll
need to have Jess and Jena installed in order to use daml4jess.
Contact me if you have any issues.
The core of daml4jess is the Jess rules that are used to implement the
DAML semantics. These rules are direct translations of DAMLJessKB rules
and therefore all the credits should go to the author(s) of DAMLJessKB.
In the daml4jess package (Java part), you may still see traits of
DAMLJessKB but it's substantialy different (and arguably, better).
This package is being pushed out earlier than planned because of the
interests from some users. As a result, the package is not
quite polished and some necessary documents are not in place.
There is every intention that this package will be supported and updated.
For more information, suggestions, and bug report, please contact