Updates to FuXi

A few bugfixes, and minor features were committed to FuXi on trunk.
The FuXi.Rete.Util.renderNetwork method (which uses pydot to render a
graph of a given Rete network) was updated to fix problems with the
rendering of built-ins.  The diagram now also includes the number of
times a terminal node (or rule) was fired if the network has been fed
with RDF statements.  The registration of additional user-specified
built-ins was fixed.  A warning was added for when ReteNetwork objects
are instantiated with a rule store that has already been populated
with rules.  The preferred way to do this is:

    from FuXi.Horn.HornRules import NetworkFromN3
    graph = ConjunctiveGraph()
    graph.load(ruleStream, format='n3')
    network = NetworkFromN3(graph,
                            additionalBuiltins={.. additional user-
builtins ..})

NetworkN3 was added to support the common scenario of simply creating
a Network from a given N3 RDF graph.  A fix was added that addressed
an inconsistent bug with N3 rules that have builtins, where setting up
the built-ins on a network was depending on the built-in being at the
end of consequent of a rule.  Since RDFLib in-memory graphs do not
guarantee maintaining the serialization order, this was problematic.
A test case was added.

Finally InfixOwl was updated to include the ability to delete the
subClassOf, complementOf, etc.. descriptors on Class and Property
objects.  So:

  del infixClass.subClassOf

Is the equivalent of:

  infixClass.graph.remove
((infixClass.identifier,RDFS.subClassOf,None))

I.e., it removes all the subClassOf axioms associated with the class
object.  Deletion descriptors were added for the following attributes
(the corresponding OWL/RDFS properties managed by these descriptors
are in parenthesis):

- type (rdf:type)
- comment / seeAlso / label / subClassOf / domain / range / ... etc...
(rdfs:comment, etc..)
- imports (owl:imports on Ontology objects)
- equivalentClass / disjointWith / complementOf / onProperty /
allValuesFrom / hasValue / cardinality / ... etc..
(owl:equivalentClass, etc.)

For more information on these descriptors you can read my OWLED 2008
submission regarding InfixOWL:

 http://www.webont.org/owled/2008/papers/owled2008eu_submission_19.pdf

I still have yet to update the user manual to reflect the recent
changes and hope to do this shortly

-- Chimezie

Received on Wednesday, 29 April 2009 21:28:37 UTC