FuXi 1.2 release

A new version of FuXi (1.2) has been committed to mercurial [1] and
uploaded to the Python Package Index [2].  The ReteAction wiki has
been updated to reflect the new method added for registering
externally defined actions to the production rule system.  Below is
changelist of modifications made.  The most significant changes are 1)
updates to the BFP reasoner so that it solves body literals in a rule
in chunks that are converted into SPARQL queries that are evaluated at
once (rather than at a tuple-at-a-time), 2) The handling of tokens by
the RETE algorithm should now be a little more efficient, and 3)
support for externally defined actions (as mentioned previously).

- Extends the meta-interpreter with capabilities for collapsing chains
of base predicate queries into a single SPARQL query
- lazy evaluation of conjunction of multiple base predicates causes
removal of certain meta interpreter rules
- changed PartialInstanciation._generateBindings to use more efficient
and concise algorithm
- added FuXi.Network.Network.reportSize method which reports a summary
of the RETE network (size of largest memories, etc.)
- fix to deprecation warnings regarding use of md5 (use hashlib if available)
- Added dict with set operations to FuXi.Rete.Util
- added copy method to FuXi.Syntax.InfixOWL.BooleanClass
- added registerReteAction method to Network instances

There is only one [3] more step left before the top-down / SLD
reasoner can be completely deprecated with the BFP reasoner

As usual, comments / issues / etc. are welcome!

[1] http://code.google.com/p/fuxi/source/detail?r=332ea68ad3
[2] http://pypi.python.org/pypi/FuXi/1.2.production
[3] http://code.google.com/p/fuxi/issues/detail?id=37

Received on Monday, 20 December 2010 21:42:55 UTC