Using reason.n3 (or derivative) to represent a RETE network

Hello there.  I've been working on a RETE network implementation  from
scratch for built-in forward-chaining capabilities in FuXi (as a
workaround for the software dependencies associated with the reasoner
it's currently using: PyChinko).  In doing so, I have been working
towards an RDF vocabulary for representing a compiled RETE network
mainly for the purpose of debugging / testing the RETE network
compliaton algorithm.  I've attached the ontology I've been using so
far.

I think there are other related values in exporting an RDF
representation of a RETE network (built from a set of N3 rules), such
as:

1) Reasoner interoperability: forward-chaining implementations of the
RETE algorithm that only support the 'evaluation' of a network but not
it's compliation can rely on 'other'  tools to do so and export the
compiled network in a 'portable' way.

2) For visualizing a compiled RETE network as an RDF graph

3) As a means to test an implementation of the RETE network
compilation algorithm (which is how I'm currently using this
vocabulary).

4) For facilitating a forward-chaining proof generator.

I'm still trying to wrap my head around 4), but it seems to me that
there is some commonality between representing a proof for a set of
rules and a RETE network (built from these same rules):  which is
essentially a unification tree of the patterns in the LHS of the rule
(with minimal redundancy - as a result of the RETE algorithm).

My immediate concern, however is whether I shouldn't take a closer
look at reason.n3 in order to reuse vocabulary terms that represent
the same concepts (between a proof and a compiled RETE network).  I
was hoping for some guidance with where that overlap might be :)

Any input would be very helpful for what I'm doing.. thanks

Chimezie

  reasoning as well as the possiblity of generating proofs via forward-chaining

Received on Thursday, 6 July 2006 18:07:00 UTC