annotate galaxy-dist/tools/sparql_galaxy/sparql.py @ 4:6501986529b0 draft

HTML or tabular option added
author mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
date Mon, 28 Apr 2014 16:11:05 +0200
parents 24ad2706526c
children a579eb280308
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
1
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
2 import sys
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
3 import rdflib
4
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
4 from operator import eq
3
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
5
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
6 def main(argv):
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
7
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
8 g = rdflib.Graph()
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
9 g.parse(argv[1])
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
10 results = g.query(argv[2])
4
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
11 render = argv[3]
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
12
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
13 if (render == "html"):
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
14 html_render(results)
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
15 else:
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
16 tab_render(results)
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
17
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
18 def html_render(results):
3
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
19 print "<table>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
20 print "<tr>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
21 for key in results.bindings[1].keys():
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
22 print "<td><b>" + key +"</b></td>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
23 print "</tr>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
24 for binding in results.bindings:
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
25 print "<tr>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
26 for value in binding.values():
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
27 if isinstance(value, rdflib.term.URIRef):
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
28 print "<td><a href=\"" + value +"\">"+ value +"</a></td>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
29 else:
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
30 print "<td>"+ value +"</td>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
31 print "</tr>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
32 print "</table>"
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
33
4
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
34 def tab_render(results):
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
35 for key in results.bindings[1].keys():
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
36 print key + "\t",
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
37 print "\n"
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
38 for binding in results.bindings:
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
39 for value in binding.values():
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
40 if isinstance(value, rdflib.term.URIRef):
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
41 print value + "\t",
6501986529b0 HTML or tabular option added
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents: 3
diff changeset
42
3
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
43 if __name__ == "__main__":
24ad2706526c Reimplemented in Python, using RDFLib
mikel-egana-aranguren <mikel.egana.aranguren@gmail.com>
parents:
diff changeset
44 main(sys.argv)