def test_merge1(db1='test1', db2='test2'): ''' Load test assertions into the two DBs: DB1: No assertions DB2: Assertions 0-9 ''' print "Running test 1: " conceptdb.create_mongodb(db1) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() conceptdb.create_mongodb(db2) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(10): a1 = Assertion.make( '/data/test', '/rel/IsA', ['/test/assertion', 'test/test%d' % i]) a1.add_support(['/data/test/contributor/nholm']) #testmerge_display(db1, db2) ''' Merge the two dbs ''' merge(db1, db2) ''' Check post-merge elements, make sure they match ''' testmerge_check(db1, db2) print "Finished test 1. "
def test_merge2(db1='test1', db2='test2'): ''' Load test assertions into the two DBs: DB1: No assertions DB2: No assertions ''' print "Running test 2: " conceptdb.create_mongodb(db1) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() conceptdb.create_mongodb(db2) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() #testmerge_display(db1, db2) ''' Merge the two dbs ''' merge(db1, db2) ''' Check post-merge elements, make sure they match ''' testmerge_check(db1, db2) print "Finished test 2."
def testmerge_make(db1='test1', db2='test2'): ''' Load test assertions into the two DBs: DB1: Assertions 0-9 DB2: Assertions 0-4 ''' conceptdb.create_mongodb(db1) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(10): a = Assertion.make('/data/test','/rel/IsA',['/test/assertion','test/test%d'%i]) a.add_support(['/data/test/contributor/nholm']) a0 = Assertion.make('/data/test1','/rel/IsA',['/test/assertion','test/test%d'%i]) a0.add_support(['/data/test1/contributor/nholm']) conceptdb.create_mongodb(db2) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(5): a1 = Assertion.make('/data/test','/rel/IsA',['/test/assertion','test/test%d'%i]) a1.add_support(['/data/test/contributor/nholm']) a2 = Assertion.make('/data/test','/rel/HasA',['/test/assertion','test/test%d'%i]) a2.add_support(['/data/test/contributor/nholm']) a3 = Assertion.make('/data/test1','/rel/CausesDesire',['/test/assertion','test/test%d'%i]) a3.add_support(['/data/test1/contributor/nholm'])
def test_merge6(db1='test1', db2='test2'): ''' Load test assertions into the two DBs: DB1: Assertions 0-9 DB2: Assertions 0-4 ''' print "Running test 6: " conceptdb.create_mongodb(db1) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(10): a = Assertion.make('/data/test','/rel/IsA',['/test/assertion','test/test%d'%i]) a.add_support(['/data/test/contributor/nholm']) a0 = Assertion.make('/data/test1','/rel/IsA',['/test/assertion','test/test%d'%i]) a0.add_support(['/data/test1/contributor/nholm']) conceptdb.create_mongodb(db2) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(5): a1 = Assertion.make('/data/test','/rel/IsA',['/test/assertion','test/test%d'%i]) a1.add_support(['/data/test/contributor/nholm']) a2 = Assertion.make('/data/test','/rel/HasA',['/test/assertion','test/test%d'%i]) a2.add_support(['/data/test/contributor/nholm']) a3 = Assertion.make('/data/test1','/rel/CausesDesire',['/test/assertion','test/test%d'%i]) a3.add_support(['/data/test1/contributor/nholm']) #testmerge_display(db1, db2, '/data/test') ''' Merge the two dbs ''' merge(db1, db2, '/data/test') ''' Check post-merge elements, make sure they match ''' testmerge_check(db1, db2, '/data/test') print "Finished test 6."
def test_merge3(db1='test1', db2='test2'): ''' Load test assertions into the two DBs: DB1: assertions in one dataset DB2: assertions in another dataset ''' print "Running test 3: " conceptdb.create_mongodb(db1) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(10): a = Assertion.make('/data/test1','/rel/IsA',['/test/assertion','test/test%d'%i]) a.add_support(['/data/test/contributor/nholm']) conceptdb.create_mongodb(db2) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(10): a1 = Assertion.make('/data/test2','/rel/IsA',['/test/assertion','test/test%d'%i]) a1.add_support(['/data/test/contributor/nholm']) #testmerge_display(db1, db2) ''' Merge the two dbs ''' merge(db1, db2) ''' Check post-merge elements, make sure they match ''' testmerge_check(db1, db2) print "Finished test 3."
def testmerge_make(db1='test1', db2='test2'): ''' Load test assertions into the two DBs: DB1: Assertions 0-9 DB2: Assertions 0-4 ''' conceptdb.create_mongodb(db1) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(10): a = Assertion.make( '/data/test', '/rel/IsA', ['/test/assertion', 'test/test%d' % i]) a.add_support(['/data/test/contributor/nholm']) a0 = Assertion.make( '/data/test1', '/rel/IsA', ['/test/assertion', 'test/test%d' % i]) a0.add_support(['/data/test1/contributor/nholm']) conceptdb.create_mongodb(db2) Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() for i in xrange(5): a1 = Assertion.make( '/data/test', '/rel/IsA', ['/test/assertion', 'test/test%d' % i]) a1.add_support(['/data/test/contributor/nholm']) a2 = Assertion.make( '/data/test', '/rel/HasA', ['/test/assertion', 'test/test%d' % i]) a2.add_support(['/data/test/contributor/nholm']) a3 = Assertion.make( '/data/test1', '/rel/CausesDesire', ['/test/assertion', 'test/test%d' % i]) a3.add_support(['/data/test1/contributor/nholm'])
import conceptdb from conceptdb.assertion import Assertion, Expression, Sentence from conceptdb.metadata import Dataset from conceptdb.justify import ReasonConjunction conceptdb.connect_to_mongodb('test') #clean out whatever was in test before Assertion.drop_collection() Dataset.drop_collection() Expression.drop_collection() ReasonConjunction.drop_collection() Sentence.drop_collection() #make a new dataset d = Dataset.make('/data/test', 'en') #make a couple of assertions a1 = Assertion.make(d, '/rel/IsA', ['/concept/assertion', '/concept/test']) a2 = Assertion.make(d, '/rel/IsA', ['/concept/database', '/concept/test']) #add expressions to them e1 = a1.make_expression('{0} is a {1}', a1.arguments, d.language) e2 = a2.make_expression('{0} is a {1}', a2.arguments, d.language) #connect them to sentences a1.connect_to_sentence(d, 'This assertion is a test.') a2.connect_to_sentence(d, 'This database is a test.') #make a reason for myself r = ReasonConjunction.make('/data/test/contributor/elhawk', ['user_factor'], 0.75, True)
def testmerge_check(db1='test1', db2='test2', dataset=None): ''' Check post-merge elements, make sure they match ''' if dataset == None: print "Testing Assertion objects" conceptdb.connect_to_mongodb(db1) db1_assertions = Assertion.objects conceptdb.connect_to_mongodb(db2) db2_assertions = Assertion.objects for db1_a in [ a1 for a1 in list(db1_assertions) if a1 not in list(db2_assertions) ]: check = False for db2_check in list(db2_assertions): if assertion_check(db1_a, db2_check): check = True assert check == True for db2_a in [ a2 for a2 in list(db2_assertions) if a2 not in list(db1_assertions) ]: check = False for db1_check in list(db1_assertions): if assertion_check(db2_a, db1_check): check = True assert check == True print "Assertion test PASSED" print "Testing ReasonConjunction objects" conceptdb.connect_to_mongodb(db1) #print "After the merge, db %s has the following assertions: "%db1 for a1 in Assertion.objects: #print "assertion: %s"%a1 #print " confidence score: %s"%a1.confidence for r1 in list(ReasonConjunction.objects.filter(target=a1.name)): #print " reason: %s"%r1.factors assert r1.target == a1.name Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() conceptdb.connect_to_mongodb(db2) #print "After the merge, db %s has the following assertions: "%db2 for a2 in Assertion.objects: #print "assertion: %s"%a2 #print " confidence score: %s"%a2.confidence for r2 in list(ReasonConjunction.objects.filter(target=a2.name)): #print " reason: %s"%r2.factors assert r2.target == a2.name print "ReasonConjunction test PASSED" Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() else: print "Testing Assertion objects" conceptdb.connect_to_mongodb(db1) db1_assertions = Assertion.objects.filter(dataset=dataset) conceptdb.connect_to_mongodb(db2) db2_assertions = Assertion.objects.filter(dataset=dataset) for db1_a in [ a1 for a1 in list(db1_assertions) if a1 not in list(db2_assertions) ]: check = False for db2_check in list(db2_assertions): if assertion_check(db1_a, db2_check): check = True assert check == True for db2_a in [ a2 for a2 in list(db2_assertions) if a2 not in list(db1_assertions) ]: check = False for db1_check in list(db1_assertions): if assertion_check(db2_a, db1_check): check = True assert check == True print "Assertion test PASSED" print "Testing ReasonConjunction objects" conceptdb.connect_to_mongodb(db1) #print "After the merge, db %s has the following assertions: "%db1 for a1 in Assertion.objects.filter(dataset=dataset): #print "assertion: %s"%a1 #print " confidence score: %s"%a1.confidence for r1 in list(ReasonConjunction.objects.filter(target=a1.name)): #print " reason: %s"%r1.factors assert r1.target == a1.name Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() conceptdb.connect_to_mongodb(db2) #print "After the merge, db %s has the following assertions: "%db2 for a2 in Assertion.objects.filter(dataset=dataset): #print "assertion: %s"%a2 #print " confidence score: %s"%a2.confidence for r2 in list(ReasonConjunction.objects.filter(target=a2.name)): #print " reason: %s"%r2.factors assert r2.target == a2.name print "ReasonConjunction test PASSED" Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection()
import conceptdb from conceptdb.assertion import Assertion, Expression, Sentence from conceptdb.metadata import Dataset from conceptdb.justify import ReasonConjunction conceptdb.connect_to_mongodb('test') #clean out whatever was in test before Assertion.drop_collection() Dataset.drop_collection() Expression.drop_collection() ReasonConjunction.drop_collection() Sentence.drop_collection() #make a new dataset d = Dataset.make('/data/test', 'en') #make a couple of assertions a1 = Assertion.make(d, '/rel/IsA', ['/concept/assertion', '/concept/test']) a2 = Assertion.make(d, '/rel/IsA', ['/concept/database', '/concept/test']) #add expressions to them e1 = a1.make_expression('{0} is a {1}', a1.arguments, d.language) e2 = a2.make_expression('{0} is a {1}', a2.arguments, d.language) #connect them to sentences a1.connect_to_sentence(d, 'This assertion is a test.') a2.connect_to_sentence(d, 'This database is a test.') #make a reason for myself r = ReasonConjunction.make('/data/test/contributor/elhawk', ['user_factor'],
def testmerge_check(db1='test1', db2='test2', dataset=None): ''' Check post-merge elements, make sure they match ''' if dataset==None: print "Testing Assertion objects" conceptdb.connect_to_mongodb(db1) db1_assertions = Assertion.objects conceptdb.connect_to_mongodb(db2) db2_assertions = Assertion.objects for db1_a in [a1 for a1 in list(db1_assertions) if a1 not in list(db2_assertions)]: check = False for db2_check in list(db2_assertions): if assertion_check(db1_a, db2_check): check = True assert check==True for db2_a in [a2 for a2 in list(db2_assertions) if a2 not in list(db1_assertions)]: check = False for db1_check in list(db1_assertions): if assertion_check(db2_a, db1_check): check = True assert check==True print "Assertion test PASSED" print "Testing ReasonConjunction objects" conceptdb.connect_to_mongodb(db1) #print "After the merge, db %s has the following assertions: "%db1 for a1 in Assertion.objects: #print "assertion: %s"%a1 #print " confidence score: %s"%a1.confidence for r1 in list(ReasonConjunction.objects.filter(target=a1.name)): #print " reason: %s"%r1.factors assert r1.target == a1.name Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() conceptdb.connect_to_mongodb(db2) #print "After the merge, db %s has the following assertions: "%db2 for a2 in Assertion.objects: #print "assertion: %s"%a2 #print " confidence score: %s"%a2.confidence for r2 in list(ReasonConjunction.objects.filter(target=a2.name)): #print " reason: %s"%r2.factors assert r2.target == a2.name print "ReasonConjunction test PASSED" Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() else: print "Testing Assertion objects" conceptdb.connect_to_mongodb(db1) db1_assertions = Assertion.objects.filter(dataset=dataset) conceptdb.connect_to_mongodb(db2) db2_assertions = Assertion.objects.filter(dataset=dataset) for db1_a in [a1 for a1 in list(db1_assertions) if a1 not in list(db2_assertions)]: check = False for db2_check in list(db2_assertions): if assertion_check(db1_a, db2_check): check = True assert check==True for db2_a in [a2 for a2 in list(db2_assertions) if a2 not in list(db1_assertions)]: check = False for db1_check in list(db1_assertions): if assertion_check(db2_a, db1_check): check = True assert check==True print "Assertion test PASSED" print "Testing ReasonConjunction objects" conceptdb.connect_to_mongodb(db1) #print "After the merge, db %s has the following assertions: "%db1 for a1 in Assertion.objects.filter(dataset=dataset): #print "assertion: %s"%a1 #print " confidence score: %s"%a1.confidence for r1 in list(ReasonConjunction.objects.filter(target=a1.name)): #print " reason: %s"%r1.factors assert r1.target == a1.name Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection() conceptdb.connect_to_mongodb(db2) #print "After the merge, db %s has the following assertions: "%db2 for a2 in Assertion.objects.filter(dataset=dataset): #print "assertion: %s"%a2 #print " confidence score: %s"%a2.confidence for r2 in list(ReasonConjunction.objects.filter(target=a2.name)): #print " reason: %s"%r2.factors assert r2.target == a2.name print "ReasonConjunction test PASSED" Assertion.drop_collection() Dataset.drop_collection() ReasonConjunction.drop_collection()