Mercurial > repos > mikel-egana-aranguren > sparql_galaxy
annotate src/info/wilkinsonlab/galaxy/sparql/text/SPARQLGalaxy_TEXT.java @ 2:b8bf1af83841 draft
Paste query added, query engine improved, examples added
author | Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu> |
---|---|
date | Wed, 04 Dec 2013 08:17:00 +0100 |
parents | |
children |
rev | line source |
---|---|
2
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
1 package info.wilkinsonlab.galaxy.sparql.text; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
2 |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
3 import java.io.InputStream; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
4 import java.util.Iterator; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
5 |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
6 import com.hp.hpl.jena.query.Query; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
7 import com.hp.hpl.jena.query.QueryExecution; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
8 import com.hp.hpl.jena.query.QueryExecutionFactory; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
9 import com.hp.hpl.jena.query.QueryFactory; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
10 import com.hp.hpl.jena.query.QuerySolution; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
11 import com.hp.hpl.jena.query.ResultSet; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
12 import com.hp.hpl.jena.rdf.model.Model; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
13 import com.hp.hpl.jena.rdf.model.ModelFactory; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
14 import com.hp.hpl.jena.rdf.model.RDFNode; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
15 import com.hp.hpl.jena.util.FileManager; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
16 |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
17 public class SPARQLGalaxy_TEXT { |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
18 |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
19 /** |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
20 * @param input |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
21 * RDF |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
22 * @param SPARQL |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
23 * query |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
24 * |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
25 */ |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
26 public static void main(String[] args) { |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
27 String input_RDF_path = args[0]; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
28 String queryString = args[1]; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
29 Model model = ModelFactory.createOntologyModel(); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
30 InputStream in = FileManager.get().open(input_RDF_path); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
31 model.read(in, null); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
32 Query query = QueryFactory.create(queryString); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
33 QueryExecution qe = QueryExecutionFactory.create(query, model); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
34 ResultSet results = qe.execSelect(); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
35 String res = ""; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
36 while (results.hasNext()) { |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
37 QuerySolution qs = results.next(); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
38 Iterator<String> vars = qs.varNames(); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
39 while (vars.hasNext()) { |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
40 String var = vars.next(); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
41 res += "?" + var + "\t" + getValue(qs, var) + "\r\n"; |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
42 System.out.println(res); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
43 } |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
44 } |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
45 } |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
46 |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
47 private static String getValue(QuerySolution qs, String var) { |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
48 RDFNode n = qs.get(var); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
49 return n.toString(); |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
50 } |
b8bf1af83841
Paste query added, query engine improved, examples added
Mikel Egana Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
parents:
diff
changeset
|
51 } |