Mercurial > repos > mikel-egana-aranguren > sparql_galaxy
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 |
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) |