You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
from FuXi.Horn.HornRules import HornFromN3
rs=HornFromN3('http://www.agfa.com/w3c/euler/rdfs-rules.n3')
Got this:
File "/usr/local/lib/python2.7/dist-packages/FuXi-1.4.dev-py2.7.egg/FuXi/Rete/RuleStore.py", line 396, in add
isinstance(obj, (URIRef, Literal)) and obj or obj.identifier))
AttributeError: 'Literal' object has no attribute 'identifier'
(Note, I tried the same with Python 3. This is against the latest rdflib.)
> /usr/local/lib/python2.7/dist-packages/FuXi-1.4.dev-py2.7.egg/FuXi/Rete/RuleStore.py(396)add()
-> isinstance(obj, (URIRef, Literal)) and obj or obj.identifier))
(Pdb) p obj
rdflib.term.Literal(u'false', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#boolean'))
(Pdb) if not obj: 'hi'
'hi'
Somebody set "false"^^xsd:boolean to be actually False in Python. I can patch this but I'm still not sure where .identifier is coming from. Perhaps more accurately, I'm not sure what that code is actually supposed to do.
Tried this:
Got this:
(Note, I tried the same with Python 3. This is against the latest rdflib.)
https://github.com/RDFLib/FuXi/blob/master/lib/Rete/RuleStore.py#L396 says:
isinstance(obj, (URIRef, Literal)) and obj or obj.identifier))
I'm not sure where
obj.identifier
is supposed to come from but it doesn't look like it's anywhere in the source of rdflib.The text was updated successfully, but these errors were encountered: