Yet another release of FuXi

View: New views
3 Messages — Rating Filter:   Alert me  

Yet another release of FuXi

by Chimezie Ogbuji :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

See:
- http://pypi.python.org/pypi/FuXi/1.0-rc-II.dev
- http://code.google.com/p/fuxi/source/detail?r=fce0195ff8a2b728a7c86825309a66fe4ec37e3c

Besides bug fixes, the main highlights are: updated support for non-
monotonic negation in both forward and backward chaining inference.
I've updated the user manual and overview regarding this capability:

Also, the backward chainer now attempts to collect as many subgoals
(consequents for rules) that it can to send over as a single SPARQL
query against the base RDF datasest.  There have also been significant
performance improvements to the top-down (backward chainer) via better
use of lazy list iteration.

- http://code.google.com/p/fuxi/wiki/FuXiUserManual#Negation
- http://code.google.com/p/fuxi/wiki/Overview#Non-Monotonic_Negation

CHANGELOG

- Demorgan normal form doesn't flatten negated disjunctions if they
are named, atomic classes
- added reduce function for rendering MINUS SPARQL expressions:
collapseMINUS
- added support for handling of topdown resolution of theories with
negation (network.negRules are in play for proof search space)
- added calculation of stratified model to bottom up method
- factored out adornment and IDB/EDB introspection
- added proper support of adornment with negated literals
- added serialization and compilation of proofs with negation
 - sparql resolvable method used to build large SPARQL queries to
dispatch against the RDF dataset to solve for base predicates during
evaluation of sip strategy
- proof creation: support for conjunctive queries against based
predicates as RDF dataset
- queries to fact graph are only dispatched if they involve  base
predicates (otherwise, we must assume they are solved by the inference
procedure)
- updated Tests
- added support for str:lessThan and log:equalTo to builtin SPARQL
templates
- fixed the interaction between --method=topDown, both, bottomUp (they
were stepping on each other's setup)
- simple atomic concept inclusion axioms (i.e., subClassOf between two
named classes) are now solved in large groups rather than one at a
time
- fixed lazy collection of multiple answers for a subgoal (if the
first answer is true, the rest are not processed)
- added useful selective_memoize decorator and lazyGeneratorPeek to
FuXi.Rete.Util


RIF implementation experience? Re: Yet another release of FuXi

by Dan Connolly :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chimezie wrote:
> See:
> - http://pypi.python.org/pypi/FuXi/1.0-rc-II.dev
> - http://code.google.com/p/fuxi/source/detail?r=fce0195ff8a2b728a7c86825309a66fe4ec37e3c


Interesting... have you started playing with RIF?
I gather the WG is getting pretty close to done,
but I haven't managed to give it a close look myself.

http://www.w3.org/TR/rif-bld/

> Besides bug fixes, the main highlights are: updated support for non-
> monotonic negation in both forward and backward chaining inference.
> I've updated the user manual and overview regarding this capability:
>
> Also, the backward chainer now attempts to collect as many subgoals
> (consequents for rules) that it can to send over as a single SPARQL
> query against the base RDF datasest.  There have also been significant
> performance improvements to the top-down (backward chainer) via better
> use of lazy list iteration.
>
> - http://code.google.com/p/fuxi/wiki/FuXiUserManual#Negation
> - http://code.google.com/p/fuxi/wiki/Overview#Non-Monotonic_Negation
>

--
Dan Connolly, W3C http://www.w3.org/People/Connolly/



Re: RIF implementation experience? Re: Yet another release of FuXi

by Chimezie Ogbuji :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Reply inline below:

On Thu, Sep 24, 2009 at 11:01 AM, Dan Connolly <connolly@...> wrote:
> Interesting... have you started playing with RIF?
> I gather the WG is getting pretty close to done,
> but I haven't managed to give it a close look myself.

Yes, I have (for some time actually).  Currently, the core, internal
rule API mimics an earlier version of the RIF BLD abstract syntax.
So, when N3 is parsed it is (internally) converted into a completely
object-oriented set of RIF rules.  I use the ability to override
__repr__ in Python as the mechanism for serializing a RIF ruleset
constructed in this way into the human readable syntax of RIF BLD.
OWL2 RL documents (at least the subset of this profile that intersects
with OWL-DL) can be converted into a corresponding RIF ruleset:

http://code.google.com/p/fuxi/wiki/FuXiUserManual#FuXi_.DLP

Support for the XML syntax has been put off for post 1.0 (which
unfortunately is necessary in order to test compliance via the
recently developed RIF test suite)

The RIF Core rule safety criteria has been implemented.  See:

http://code.google.com/p/fuxi/wiki/FuXiUserManual#Rule_Safety

Also, the PML proofs generated from top-down (backward chaining)
solution to answers uses the RIF BLD human readable syntax for the
conclusions of NodeSets.

-- Chimezie

>
> http://www.w3.org/TR/rif-bld/
>

-- Chimezie