What is 'Algernon'?
Algernon is a rule-based inference system implemented in Java and interfaced with Protege. Algernon performs forward and backward rule-based processing of frame-based knowledge bases, and efficiently stores and retrieves information in ontologies and knowledge bases. It has a LISP-like syntax, as it was originally implemented in LISP (it has been converted to a Java implementation using Jatha).
Here are some example (forward-chaining) rules in the Algernon syntax. The terms that start with a question mark are variables that become bound, when the expression matches with a fact in the knowledge base.
If a component is ordered, make it unavailable for other orders.
((ordered ?x ?date) -> (status ?x Reserved) (last-update ?x ?date))
When the component ships, delete it from inventory
((shipped ?x ?date) -> (status ?x Sold) (last-update ?x ?date))
Algernon is suitable for small to medium-sized expert systems. To find out more, visit the Algernon Website.