def test(driverFactory): from Ft.Rdf import Model from Ft.Rdf.Inference import InferenceEngine if driverFactory.ExistsDb('kb'): driverFactory.DestroyDb('kb') db = driverFactory.CreateDb('kb') m = Model.Model(db) infeng = InferenceEngine.InferenceEngine(m,[]) db.begin() exp = """ Mike """ obj = m.compileRil(exp) res = obj.execute(infeng) m.bind(obj,"TEST") db.commit() db.begin() obj = m.lookup("TEST") if m.lookup("FOO"): raise SystemExit('lookup failed') res2 = obj.execute(infeng) if res != res2: raise SystemExit('execute of bound object failed') db.rollback() if __name__ == '__main__': from Ft.Rdf.Drivers import Postgres test(Postgres) print 'Test OK'