diff src/es/cbgp/galaxy/sparql/jena/SPARQLQueryEngine.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 137f9a4a6337
children
line wrap: on
line diff
--- a/src/es/cbgp/galaxy/sparql/jena/SPARQLQueryEngine.java	Thu Oct 25 18:35:25 2012 +0200
+++ b/src/es/cbgp/galaxy/sparql/jena/SPARQLQueryEngine.java	Wed Dec 04 08:17:00 2013 +0100
@@ -4,16 +4,17 @@
 import java.io.FileReader;
 import java.util.Iterator;
 
-import com.hp.hpl.jena.ontology.OntModel;
 import com.hp.hpl.jena.query.*;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.RDFNode;
 import com.hp.hpl.jena.shared.Lock;
 
 public class SPARQLQueryEngine {
 
-	private OntModel queryModel;
+	private Model queryModel;
 	private String sparqlFile;
 
-	public SPARQLQueryEngine(OntModel om) {
+	public SPARQLQueryEngine(Model om) {
 		this.queryModel = om;
 	}
 
@@ -33,9 +34,8 @@
 				Iterator<String> vars = qs.varNames();
 				while (vars.hasNext()) {
 					String var = vars.next();
-					if (!qs.getResource(var).isAnon()) {
-						res += "?" + var + "\t" + qs.getResource(var) + "\n";
-					}
+					res += "?" + var + "\t" + getValue(qs, var) + "\r\n";
+
 				}
 			}
 			return res;
@@ -50,6 +50,38 @@
 		return null;
 	}
 
+	private String getValue(QuerySolution qs, String var) {
+		RDFNode n = qs.get(var);
+		return n.toString();
+		
+//		System.out.println("RDFNode (" + var + "): " + n);
+//		try {
+//			if (!qs.getResource(var).isAnon()) {
+//				if (qs.getResource(var).isResource()) {
+//					return qs.getResource(var).toString();
+//				}
+//				if (qs.getResource(var).isLiteral()) {
+//					return qs.getLiteral(var).toString();
+//				}
+//			}
+//		} catch (Exception e) {
+//
+//		}
+//		try {
+//			if (!qs.getLiteral(var).isAnon()) {
+//				if (qs.getResource(var).isResource()) {
+//					return qs.getResource(var).toString();
+//				}
+//				if (qs.getResource(var).isLiteral()) {
+//					return qs.getLiteral(var).toString();
+//				}
+//			}
+//		} catch (Exception e) {
+//
+//		}
+//		return "Error";
+	}
+
 	private String loadQueryFromFile() throws Exception {
 		String query = "";
 		BufferedReader bL = new BufferedReader(new FileReader(this.sparqlFile));