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 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_assertion(): # fresh start Dataset.drop_collection() Assertion.drop_collection() #create test dataset dataset = Dataset.create(language='en', name='/data/test') #make a test assertion a1 = Assertion.make('/data/test', "/rel/IsA", ["/concept/test/assertion", "/concept/test/test"]) #verify that it exists in the database assert a1.id is not None #make sure attributes are readable a1.dataset a1.relation a1.arguments a1.argstr a1.complete a1.context a1.polarity a1.confidence #make an identical test assertion a2 = Assertion.make('/data/test', "/rel/IsA", ["/concept/test/assertion", "/concept/test/test"]) #verify that it exists in the database assert a2.id is not None print a2.id print a1.id print a1.argstr #verify that attributes are readable a2.dataset a2.relation a2.arguments a2.argstr a2.complete a2.context a2.polarity a2.confidence #check that all checked attributes are the same assert a1.dataset == a2.dataset assert a1.relation == a2.relation assert a1.arguments == a2.arguments assert a1.polarity == a2.polarity assert a1.context == a2.context #verify that the ID's are the same assert (a1.id == a2.id) #clean up Dataset.drop_collection() Assertion.drop_collection()
def test_assertion(): # fresh start Dataset.drop_collection() Assertion.drop_collection() #create test dataset dataset = Dataset.create(language = 'en', name = '/data/test') #make a test assertion a1 = Assertion.make('/data/test',"/rel/IsA",["/concept/test/assertion", "/concept/test/test"]) #verify that it exists in the database assert a1.id is not None #make sure attributes are readable a1.dataset a1.relation a1.arguments a1.argstr a1.complete a1.context a1.polarity a1.confidence #make an identical test assertion a2 = Assertion.make('/data/test',"/rel/IsA",["/concept/test/assertion", "/concept/test/test"]) #verify that it exists in the database assert a2.id is not None print a2.id print a1.id print a1.argstr #verify that attributes are readable a2.dataset a2.relation a2.arguments a2.argstr a2.complete a2.context a2.polarity a2.confidence #check that all checked attributes are the same assert a1.dataset == a2.dataset assert a1.relation == a2.relation assert a1.arguments == a2.arguments assert a1.polarity == a2.polarity assert a1.context == a2.context #verify that the ID's are the same assert (a1.id == a2.id) #clean up Dataset.drop_collection() Assertion.drop_collection()
def test_freebase_allresults(): Assertion.drop_collection() query_args = {'id':'/en/the_beatles', 'type':'/music/artist'} result_args = ['*'] q = MQLQuery.make(query_args, result_args) q.get_results('/data/test') for a in Assertion.objects: print str(a.arguments) print str(a.relation) Assertion.drop_collection()
def test_import_traversing(): Assertion.drop_collection() Dataset.drop_collection() q = MQLQuery.make({'mid':'/m/0p_47'},['*']) # 'mid':'/m/0p_47' q.get_results('/data/test', 'nholm', 1, None, True, 'mid') #print 'DONE WITH GET RESULTS' for a in Assertion.objects: print a.relation print a.arguments Assertion.drop_collection() Dataset.drop_collection()
def test_import_traversing(): Assertion.drop_collection() Dataset.drop_collection() q = MQLQuery.make({'mid': '/m/0p_47'}, ['*']) # 'mid':'/m/0p_47' q.get_results('/data/test', 'nholm', 1, None, True, 'mid') #print 'DONE WITH GET RESULTS' for a in Assertion.objects: print a.relation print a.arguments Assertion.drop_collection() Dataset.drop_collection()
def test_freebase_allresults(): Assertion.drop_collection() query_args = {'id': '/en/the_beatles', 'type': '/music/artist'} result_args = ['*'] q = MQLQuery.make(query_args, result_args) q.get_results('/data/test') for a in Assertion.objects: print str(a.arguments) print str(a.relation) Assertion.drop_collection()
def test_assertion(): # fresh start Dataset.drop_collection() Assertion.drop_collection() #create test dataset dataset = Dataset.create(language = 'en', name = '/data/test') #make a test assertion a1 = Assertion.make('/data/test',"/rel/IsA",["/concept/test/assertion", "/concept/test/test"]) e = Expression.make(a1, "{0} is a {1}", ['this assertion', 'test'], 'en') print e.assertion e.add_support([dataset.get_root_reason()]) a1.add_support([dataset.get_root_reason()]) a1.save() a1.make_generalizations('/data/test/root') a2 = Assertion.objects.get( dataset='/data/test', relation='/rel/IsA', argstr="/concept/test/assertion,/concept/test/test" ) print a1.get_expressions() assert a2.get_expressions()[0].text == 'this assertion is a test' a3 = Assertion.objects.get( dataset='/data/test', relation='/rel/IsA', argstr="/concept/test/assertion,*" ) assert a3.get_expressions()[0].text == 'this assertion is a {1}' a4 = Assertion.objects.get( dataset='/data/test', relation='/rel/IsA', argstr="*,/concept/test/test" ) assert a4.get_expressions()[0].text == '{0} is a test' a5 = Assertion.objects.get( dataset='/data/test', relation='/rel/IsA', argstr="*,*" ) assert a5.get_expressions()[0].text == '{0} is a {1}' #clean up Dataset.drop_collection() Assertion.drop_collection()
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_create_or_vote(): q = MQLQuery.make({'id': '/en/the_beatles'}, ['*']) Assertion.drop_collection() assertions = q.get_results('/data/test', 'nholm', 1, None, False) print str(len(assertions)) assertions2 = q.get_results('/data/test', 'nholm', 1, None, False) print str(len(assertions2)) count = 0 for a in Assertion.objects: count += 1 print a.arguments print count Assertion.drop_collection()
def test_create_or_vote(): q = MQLQuery.make({'id':'/en/the_beatles'}, ['*']) Assertion.drop_collection() assertions = q.get_results('/data/test','nholm', 1,None,False) print str(len(assertions)) assertions2 = q.get_results('/data/test','nholm', 1,None,False) print str(len(assertions2)) count = 0 for a in Assertion.objects: count += 1 print a.arguments print count Assertion.drop_collection()
def test_assertion(): # fresh start Dataset.drop_collection() Assertion.drop_collection() #create test dataset dataset = Dataset.create(language='en', name='/data/test') #make a test assertion a1 = Assertion.make('/data/test', "/rel/IsA", ["/concept/test/assertion", "/concept/test/test"]) e = Expression.make(a1, "{0} is a {1}", ['this assertion', 'test'], 'en') print e.assertion e.add_support([dataset.get_root_reason()]) a1.add_support([dataset.get_root_reason()]) a1.save() a1.make_generalizations('/data/test/root') a2 = Assertion.objects.get( dataset='/data/test', relation='/rel/IsA', argstr="/concept/test/assertion,/concept/test/test") print a1.get_expressions() assert a2.get_expressions()[0].text == 'this assertion is a test' a3 = Assertion.objects.get(dataset='/data/test', relation='/rel/IsA', argstr="/concept/test/assertion,*") assert a3.get_expressions()[0].text == 'this assertion is a {1}' a4 = Assertion.objects.get(dataset='/data/test', relation='/rel/IsA', argstr="*,/concept/test/test") assert a4.get_expressions()[0].text == '{0} is a test' a5 = Assertion.objects.get(dataset='/data/test', relation='/rel/IsA', argstr="*,*") assert a5.get_expressions()[0].text == '{0} is a {1}' #clean up Dataset.drop_collection() Assertion.drop_collection()
def test_import_all(): Assertion.drop_collection() q = MQLQuery.make({'id':'/en/the_beatles'}, ['*']) assertions = q.get_results('/data/test',1,None,'nholm',True) for a in Assertion.objects: print a.relation # # mss = freebase.HTTPMetawebSession('http://api.freebase.com') # # query = [{"*":{},"id":"/en/the_beatles","type":"/music/artist"}] # # results = mss.mqlread(query) # # print results Assertion.drop_collection()
def test_import_all(): Assertion.drop_collection() q = MQLQuery.make({'id': '/en/the_beatles'}, ['*']) assertions = q.get_results('/data/test', 1, None, 'nholm', True) for a in Assertion.objects: print a.relation # # mss = freebase.HTTPMetawebSession('http://api.freebase.com') # # query = [{"*":{},"id":"/en/the_beatles","type":"/music/artist"}] # # results = mss.mqlread(query) # # print results Assertion.drop_collection()
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'])
def test_expression(): #start clean Expression.drop_collection() Assertion.drop_collection() a1 = Assertion.make('/data/test', '/rel/IsA', ['/concept/test/assertion', '/concept/test/test']) expr = Expression.make(a1, '{0} is a {1}', ['this assertion', 'test'], 'en') #check for consistency, ensure all attributes are readable expr.check_consistency() expr.assertion expr.text expr.confidence expr.arguments expr.language expr.frame expr.id assert expr.name == '/expression/%s' % expr.id # load the same assertion from the DB a2 = Assertion.make('/data/test', '/rel/IsA', ['/concept/test/assertion', '/concept/test/test']) assert expr.assertion == a2 #test static methods replace = Expression.replace_args(expr.frame, expr.arguments) assert replace == "this assertion is a test" #clean up Assertion.drop_collection() Expression.drop_collection()
def test_expression(): #start clean Expression.drop_collection() Assertion.drop_collection() a1 = Assertion.make('/data/test','/rel/IsA', ['/concept/test/assertion', '/concept/test/test']) expr = Expression.make(a1, '{0} is a {1}', ['this assertion', 'test'], 'en') #check for consistency, ensure all attributes are readable expr.check_consistency() expr.assertion expr.text expr.confidence expr.arguments expr.language expr.frame expr.id assert expr.name == '/expression/%s' % expr.id # load the same assertion from the DB a2 = Assertion.make('/data/test','/rel/IsA', ['/concept/test/assertion', '/concept/test/test']) assert expr.assertion == a2 #test static methods replace = Expression.replace_args(expr.frame, expr.arguments) assert replace == "this assertion is a test" #clean up Assertion.drop_collection() Expression.drop_collection()
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()
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)