root / rdfalchemy / trunk / test / sesame2_perf.py

Revision 127, 1.3 kB (checked in by phil, 7 months ago)

This update to rdfalchemy moves some functions in to a sub-module and has the beginings of a sparql script
It adds some unit tests (for initBinding)

Breaking your Programs:

This update could break your code if you:


from rdfalchemy.sesame2 import SesameGraph?


you now need to import from rdfalchemy.sparql.sesame2
allows for jython or other sesame graph implimentations not dependent on the http sparql endpoint


you should probably be using create_engine instead

Line 
1from datetime import datetime
2from rdfalchemy.sparql.sesame2 import SesameGraph
3
4import logging 
5
6logging.getLogger('rdfalchemy.sparql').setLevel(logging.DEBUG)
7logging.getLogger('rdfalchemy.sesame2').setLevel(logging.DEBUG)
8logging.getLogger('root').addHandler(logging.StreamHandler())
9
10url1 = 'http://www.openvest.com:8080/sesame/repositories/Portfolio/'
11url2 = 'http://www.openvest.com:8080/sesame/repositories/Test/'
12
13q1 = "select ?s ?p ?o where {?s ?p ?o} limit 1000"
14q2 = "select ?o where {?s ?p ?o} limit 10000"
15
16
17def tester(method,small, all):
18    start = datetime.now()
19    i=0
20    for x in  g.query(q,resultMethod=method):
21        i = i + 1
22        if (i % small) == 0:
23            print "c %s %s" % (i,datetime.now()-start)
24        if (i % all) == 0:
25            print "f %s %s" % (i,datetime.now()-start)
26            return
27
28g = SesameGraph(url1)
29q = q1
30print "testing\n  url: %s\n  query: %s\n" % (url1,q)
31print "\n  method: %s" % ('brtr')
32tester('brtr',100,1000) 
33
34print "\n  method: %s" % ('xml')
35tester('xml',100,1000) 
36
37print "\n  method: %s" % ('json')
38tester('json',100,1000) 
39
40g = SesameGraph(url2)
41q = q2
42print "testing\n  url: %s\n  query: %s\n" % (url2,q)
43print "\n  method: %s" % ('brtr')
44tester('brtr',1000,5000) 
45
46print "\n  method: %s" % ('xml')
47tester('xml',1000,5000) 
48
49print "\n  method: %s" % ('json')
50tester('json',1000,5000) 
Note: See TracBrowser for help on using the browser.