Chimezie Ogbuji's FuXi reasoner. NON-FUNCTIONING, RETAINED FOR ARCHIVAL PURPOSES. For working code plus version and associated support requirements see:
That smiley-face looking construct at the tail of the rule is, from my reading, a syntax error in RIF. Likewise is And( ) in the SyntaxWarning above. If we inspect the rule's body:
(Pdb) p rule.formula.body
And( )
(Pdb) p rule.formula.body.__dict__
{'nsMgr': <rdflib.namespace.NamespaceManager object at 0x98fcdcc>, 'nsDict': {}, 'naf': False, 'formulae': []}
My tentative conclusion is that something in the process is generating these illegal empty And( ) constructs. I have a hunch that it has something to do with the fact that certain terms evaluate to False, as I found in issue #13.
Currently trying to get the OWL rules to be processed correctly.
dct.n3
is just http://purl.org/dc/terms/ to use as input fodder.Running the
FuXi
script (bare and in the debugger) gives me a bunch of these:…and then crashes with a
KeyError
here: https://github.com/RDFLib/FuXi/blob/master/lib/Rete/Network.py#L360I added the following condition in my test code:
This spits out the offending rule as something like:
That smiley-face looking construct at the tail of the rule is, from my reading, a syntax error in RIF. Likewise is
And( )
in theSyntaxWarning
above. If we inspect the rule's body:My tentative conclusion is that something in the process is generating these illegal empty
And( )
constructs. I have a hunch that it has something to do with the fact that certain terms evaluate toFalse
, as I found in issue #13.