From: <ku...@us...> - 2008-01-18 10:29:29
|
Revision: 387 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=387&view=rev Author: kurzum Date: 2008-01-18 02:29:26 -0800 (Fri, 18 Jan 2008) Log Message: ----------- sparql queries are now made by Jena. Jena is 6 times slower, see TestSparqlQuery XML processing is still the old thing Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/JenaTestScript.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryAbstract.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryConventional.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-01-18 08:57:51 UTC (rev 386) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-01-18 10:29:26 UTC (rev 387) @@ -19,6 +19,7 @@ */ package org.dllearner.kb.sparql; +import java.io.IOException; import java.net.URI; import java.util.HashSet; import java.util.Set; @@ -29,6 +30,7 @@ import org.dllearner.kb.sparql.configuration.SparqlQueryType; import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; import org.dllearner.kb.sparql.datastructure.Node; +import org.dllearner.kb.sparql.old.oldSparqlOntologyCollector; import org.dllearner.utilities.StringTuple; /** @@ -145,5 +147,53 @@ public Configuration getConfiguration(){ return configuration; } + + /*public void calculateSubjects(String label, int limit) { + System.out.println("SparqlModul: Collecting Subjects"); + oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); + try { + subjects = oc.getSubjectsFromLabel(label, limit); + } catch (IOException e) { + subjects = new String[1]; + subjects[0] = "[Error]Sparql Endpoint could not be reached."; + } + System.out.println("SparqlModul: ****Finished"); + } + /** + * TODO SparqlOntologyCollector needs to be removed + * @param subject + */ + /* + public void calculateTriples(String subject) { + System.out.println("SparqlModul: Collecting Triples"); + oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); + try { + triples = oc.collectTriples(subject); + } catch (IOException e) { + triples = new String[1]; + triples[0] = "[Error]Sparql Endpoint could not be reached."; + } + System.out.println("SparqlModul: ****Finished"); + } +*/ + /** + * TODO SparqlOntologyCollector needs to be removed + * @param concept + */ + + /*public void calculateConceptSubjects(String concept) { + System.out.println("SparqlModul: Collecting Subjects"); + oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); + try { + conceptSubjects = oc.getSubjectsFromConcept(concept); + } catch (IOException e) { + conceptSubjects = new String[1]; + conceptSubjects[0] = "[Error]Sparql Endpoint could not be reached."; + } + System.out.println("SparqlModul: ****Finished"); + } + */ + + } \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-18 08:57:51 UTC (rev 386) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-18 10:29:26 UTC (rev 387) @@ -35,6 +35,8 @@ import org.dllearner.kb.sparql.configuration.Configuration; import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; import org.dllearner.kb.sparql.query.Cache; +import org.dllearner.kb.sparql.query.CachedSparqlQuery; +import org.dllearner.kb.sparql.query.SparqlQuery; import org.dllearner.utilities.StringTuple; /** @@ -49,6 +51,8 @@ private Configuration configuration; // private SparqlHTTPRequest SparqlHTTPRequest; private SparqlQueryMaker sparqlQueryMaker; + private SparqlQuery sparqlQuery; + private CachedSparqlQuery cachedSparqlQuery; Cache cache; public TypedSparqlQuery(Configuration Configuration) { @@ -56,7 +60,9 @@ // this.SparqlHTTPRequest = new // SparqlHTTPRequest(Configuration.getSparqlEndpoint()); this.sparqlQueryMaker = new SparqlQueryMaker(Configuration.getSparqlQueryType()); + this.sparqlQuery=new SparqlQuery(configuration.getSparqlEndpoint()); this.cache = new Cache("cache"); + this.cachedSparqlQuery=new CachedSparqlQuery(this.sparqlQuery,this.cache); } // standard query get a tupels (p,o) for subject s public Set<StringTuple> query(URI u) { @@ -93,31 +99,7 @@ // uses a cache private Set<StringTuple> cachedSparql(URI u, String sparql, String a, String b) { // check cache - String FromCache = cache.get(u.toString(), sparql); - if(debug_no_cache) { - FromCache=null; - } - String xml = null; - // if not in cache get it from EndPoint - if (FromCache == null) { - configuration.increaseNumberOfuncachedSparqlQueries(); - try { - xml = sendAndReceiveSPARQL(sparql); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - p(sparql); - // System.out.println(xml); - if(!debug_no_cache) { - cache.put(u.toString(), sparql, xml); - } - //System.out.print("\n"); - } else { - configuration.increaseNumberOfCachedSparqlQueries(); - xml = FromCache; - //System.out.println("FROM CACHE"); - } + String xml=this.cachedSparqlQuery.getAsXMLString(u, sparql); // System.out.println(sparql); // System.out.println(xml); @@ -202,66 +184,11 @@ return xml; } - private String sendAndReceiveSPARQL(String sparql) throws IOException { - p("sendAndReceiveSPARQL"); - StringBuilder answer = new StringBuilder(); - //sparql="SELECT * WHERE {?a ?b ?c}LIMIT 10"; - - // String an Sparql-Endpoint schicken - HttpURLConnection connection; - SpecificSparqlEndpoint se = configuration.getSparqlEndpoint(); - p("URL: "+se.getURL()); - p("Host: "+se.getHost()); - - connection = (HttpURLConnection) se.getURL().openConnection(); - connection.setDoOutput(true); - - //connection.addRequestProperty("Host", se.getHost()); - connection.addRequestProperty("Connection", "close"); - connection - .addRequestProperty( - "Accept", - "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"); - connection.addRequestProperty("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"); - connection.addRequestProperty("Accept-Charset", "utf-8;q=1.0"); - connection - .addRequestProperty( - "User-Agent", - "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4 Web-Sniffer/1.0.24"); - - OutputStream os = connection.getOutputStream(); - OutputStreamWriter osw = new OutputStreamWriter(os); - - Set<String> s = se.getParameters().keySet(); - Iterator<String> it = s.iterator(); - String FullURI = ""; - while (it.hasNext()) { - String element = it.next(); - FullURI += "" + URLEncoder.encode(element, "UTF-8") + "=" - + URLEncoder.encode(se.getParameters().get(element), "UTF-8") + "&"; - } - - FullURI += "" + se.getHasQueryParameter() + "=" + URLEncoder.encode(sparql, "UTF-8"); - p(FullURI); - osw.write(FullURI); - osw.close(); - - // receive answer - InputStream is = connection.getInputStream(); - InputStreamReader isr = new InputStreamReader(is, "UTF-8"); - BufferedReader br = new BufferedReader(isr); - - String line; - do { - line = br.readLine(); - if (line != null) - answer.append(line); - } while (line != null); - - br.close(); - p(answer.toString()); - return answer.toString(); + public String sendAndReceiveSPARQL(String queryString){ + //SparqlQuery sq=new SparqlQuery(configuration.getSparqlEndpoint()); + return sparqlQuery.getAsXMLString(queryString); } + public void p(String str){ if(print_flag){ System.out.println(str); Added: trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java 2008-01-18 10:29:26 UTC (rev 387) @@ -0,0 +1,57 @@ +package org.dllearner.kb.sparql.query; + +import java.net.URI; + +import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; + +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; + +public class CachedSparqlQuery { + +//SpecificSparqlEndpoint specificSparqlEndpoint; +Cache cache; +SparqlQuery sparqlQuery; +boolean debug_no_cache=false; + + public CachedSparqlQuery(SpecificSparqlEndpoint endpoint,Cache c) { + //this.specificSparqlEndpoint=endpoint; + this.sparqlQuery=new SparqlQuery(endpoint); + this.cache=c; + + } + public CachedSparqlQuery(SparqlQuery sparqlQuery,Cache c) { + + this.sparqlQuery=sparqlQuery; + this.cache=c; + + } + + public String getAsXMLString(URI u, String sparql){ + String FromCache = cache.get(u.toString(), sparql); + if(debug_no_cache) { + FromCache=null; + } + String xml = null; + // if not in cache get it from EndPoint + if (FromCache == null) { + //configuration.increaseNumberOfuncachedSparqlQueries(); + + xml = this.sparqlQuery.getAsXMLString(sparql); + //sendAndReceiveSPARQL(sparql); + + //p(sparql); + // System.out.println(xml); + if(!debug_no_cache) { + cache.put(u.toString(), sparql, xml); + } + //System.out.print("\n"); + } else { + //configuration.increaseNumberOfCachedSparqlQueries(); + xml = FromCache; + //System.out.println("FROM CACHE"); + } + + return xml; + } +} Added: trunk/src/dl-learner/org/dllearner/kb/sparql/query/JenaTestScript.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/JenaTestScript.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/JenaTestScript.java 2008-01-18 10:29:26 UTC (rev 387) @@ -0,0 +1,70 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.kb.sparql.query; + +import org.dllearner.kb.sparql.configuration.PredefinedEndpoint; +import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; + +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; + +/** + * Represents a SPARQL query. It includes support for stopping the SPARQL + * query (which may be necessary if a timeout is reached). + * + * TODO: It is probably good to change all SPARQL query calls to use only + * this class. + * + * TODO: Could we use Jena as a solid foundation here? (com.hp.jena.query) + * + * @author Jens Lehmann + * + */ +public class JenaTestScript { + // this is a working Jena script + // TODO: query runtime seems to be much too high (compared to running it in http://dbpedia.org/sparql) + // verify whether our SPARQL query implementation is faster and why; + // TODO: check whether Jena works with the other endpoints in PredefinedEndpoint; if not + // check whether it can be configured to run with these + public static void main(String[] args) { + + + String queryString = "PREFIX dbpedia2: <http://dbpedia.org/property/> " + + "PREFIX skos: <http://www.w3.org/2004/02/skos/core#>" + + "SELECT ?episode ?chalkboard_gag WHERE { ?episode skos:subject" + + " <http://dbpedia.org/resource/Category:The_Simpsons_episodes%2C_season_12>." + + " ?episode dbpedia2:blackboard ?chalkboard_gag }"; + + //System.out.println(queryString); + // create a query and parse it into Jena + Query query = QueryFactory.create(queryString); + query.validate(); + // Jena access to DBpedia SPARQL endpoint + QueryExecution queryExecution = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query); + System.out.println("query SPARQL server"); + ResultSet rs = queryExecution.execSelect(); + ResultSetFormatter.out(System.out, rs, query) ; + } + +} Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java 2008-01-18 08:57:51 UTC (rev 386) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java 2008-01-18 10:29:26 UTC (rev 387) @@ -40,52 +40,34 @@ * @author Jens Lehmann * */ -public class SparqlQuery { - - private boolean isRunning = false; - - public SparqlQuery(SpecificSparqlEndpoint endpoint, String query) { +public class SparqlQuery extends SparqlQueryAbstract{ + public SparqlQuery(SpecificSparqlEndpoint endpoint) { + super(endpoint); + // TODO Auto-generated constructor stub } - - public void send() { - isRunning = true; - - // ... send query - // ... check periodically whether isRunning is still true, if not - // abort the query - } - - public void stop() { - isRunning = false; - } - public boolean isRunning() { - return isRunning; - } - - // this is a working Jena script - // TODO: query runtime seems to be much too high (compared to running it in http://dbpedia.org/sparql) - // verify whether our SPARQL query implementation is faster and why; - // TODO: check whether Jena works with the other endpoints in PredefinedEndpoint; if not - // check whether it can be configured to run with these - public static void main(String[] args) { + private ResultSet sendAndReceive(String queryString){ - String queryString = "PREFIX dbpedia2: <http://dbpedia.org/property/> " + - "PREFIX skos: <http://www.w3.org/2004/02/skos/core#>" + - "SELECT ?episode ?chalkboard_gag WHERE { ?episode skos:subject" + - " <http://dbpedia.org/resource/Category:The_Simpsons_episodes%2C_season_12>." + - " ?episode dbpedia2:blackboard ?chalkboard_gag }"; - - System.out.println(queryString); + p(queryString); // create a query and parse it into Jena Query query = QueryFactory.create(queryString); query.validate(); // Jena access to DBpedia SPARQL endpoint - QueryExecution queryExecution = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query); - System.out.println("query SPARQL server"); + QueryExecution queryExecution = + QueryExecutionFactory.sparqlService(specificSparqlEndpoint.getURL().toString(), query); + + p("query SPARQL server"); ResultSet rs = queryExecution.execSelect(); - ResultSetFormatter.out(System.out, rs, query) ; + + //ResultSetFormatter.out(System.out, rs, query) ; + + return rs; } + public String getAsXMLString(String queryString){ + ResultSet rs=sendAndReceive(queryString); + return ResultSetFormatter.asXMLString(rs); + } + } Added: trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryAbstract.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryAbstract.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryAbstract.java 2008-01-18 10:29:26 UTC (rev 387) @@ -0,0 +1,39 @@ +package org.dllearner.kb.sparql.query; + +import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; + + public abstract class SparqlQueryAbstract { + private boolean isRunning = false; + boolean print_flag=false; + SpecificSparqlEndpoint specificSparqlEndpoint; + + public SparqlQueryAbstract(SpecificSparqlEndpoint endpoint) { + this.specificSparqlEndpoint=endpoint; + } + + public void send() { + isRunning = true; + + // ... send query + // ... check periodically whether isRunning is still true, if not + // abort the query + } + + public void stop() { + isRunning = false; + } + + public boolean isRunning() { + return isRunning; + } + + + public abstract String getAsXMLString(String queryString); + + public void p(String str){ + if(print_flag){ + System.out.println(str); + } + } + +} Added: trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryConventional.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryConventional.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQueryConventional.java 2008-01-18 10:29:26 UTC (rev 387) @@ -0,0 +1,100 @@ +package org.dllearner.kb.sparql.query; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.URLEncoder; +import java.util.Iterator; +import java.util.Set; + +import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; + +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; + +public class SparqlQueryConventional extends SparqlQueryAbstract{ + + + + + + public SparqlQueryConventional(SpecificSparqlEndpoint specificSparqlEndpoint) { + super(specificSparqlEndpoint); + } + + private String sendAndReceiveSPARQL(String sparql) throws IOException { + p("sendAndReceiveSPARQL"); + StringBuilder answer = new StringBuilder(); + //sparql="SELECT * WHERE {?a ?b ?c}LIMIT 10"; + + // String an Sparql-Endpoint schicken + HttpURLConnection connection; + + //SpecificSparqlEndpoint specificSparqlEndpoint = configuration.getSparqlEndpoint(); + p("URL: "+specificSparqlEndpoint.getURL()); + p("Host: "+specificSparqlEndpoint.getHost()); + + connection = (HttpURLConnection) specificSparqlEndpoint.getURL().openConnection(); + connection.setDoOutput(true); + + //connection.addRequestProperty("Host", specificSparqlEndpoint.getHost()); + connection.addRequestProperty("Connection", "close"); + connection + .addRequestProperty( + "Accept", + "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"); + connection.addRequestProperty("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"); + connection.addRequestProperty("Accept-Charset", "utf-8;q=1.0"); + connection + .addRequestProperty( + "User-Agent", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4 Web-Sniffer/1.0.24"); + + OutputStream os = connection.getOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(os); + + Set<String> s = specificSparqlEndpoint.getParameters().keySet(); + Iterator<String> it = s.iterator(); + String FullURI = ""; + while (it.hasNext()) { + String element = it.next(); + FullURI += "" + URLEncoder.encode(element, "UTF-8") + "=" + + URLEncoder.encode(specificSparqlEndpoint.getParameters().get(element), "UTF-8") + "&"; + } + + FullURI += "" + specificSparqlEndpoint.getHasQueryParameter() + "=" + URLEncoder.encode(sparql, "UTF-8"); + p(FullURI); + osw.write(FullURI); + osw.close(); + + // receive answer + InputStream is = connection.getInputStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader br = new BufferedReader(isr); + + String line; + do { + line = br.readLine(); + if (line != null) + answer.append(line); + } while (line != null); + + br.close(); + p(answer.toString()); + return answer.toString(); + } + + public String getAsXMLString(String queryString){ + try{ + return sendAndReceiveSPARQL(queryString); + }catch (IOException e) {e.printStackTrace();} + return null; + } + + + +} Added: trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java 2008-01-18 10:29:26 UTC (rev 387) @@ -0,0 +1,96 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.kb.sparql.query; + +import org.dllearner.kb.sparql.configuration.PredefinedEndpoint; +import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; + +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; +import com.hp.hpl.jena.reasoner.rulesys.impl.oldCode.TestTrail; + +/** + * Represents a SPARQL query. It includes support for stopping the SPARQL + * query (which may be necessary if a timeout is reached). + * + * TODO: It is probably good to change all SPARQL query calls to use only + * this class. + * + * TODO: Could we use Jena as a solid foundation here? (com.hp.jena.query) + * + * @author Jens Lehmann + * + */ +public class TestSparqlQuery { + + // this is a working Jena script + // TODO: query runtime seems to be much too high (compared to running it in http://dbpedia.org/sparql) + // verify whether our SPARQL query implementation is faster and why; + // TODO: check whether Jena works with the other endpoints in PredefinedEndpoint; if not + // check whether it can be configured to run with these + public static void main(String[] args) { + + String queryString = "PREFIX dbpedia2: <http://dbpedia.org/property/> " + + "PREFIX skos: <http://www.w3.org/2004/02/skos/core#>" + + "SELECT ?episode ?chalkboard_gag WHERE { ?episode skos:subject" + + " <http://dbpedia.org/resource/Category:The_Simpsons_episodes%2C_season_12>." + + " ?episode dbpedia2:blackboard ?chalkboard_gag }"; + + testTime(5,queryString); + + //compareResults( queryString); + + + } + + public static void testTime(int howOften, String queryString){ + SpecificSparqlEndpoint sse= PredefinedEndpoint.dbpediaEndpoint(); + SparqlQuery sqJena=new SparqlQuery(sse); + SparqlQueryConventional sqConv=new SparqlQueryConventional(sse); + + + long now=System.currentTimeMillis(); + for (int i = 0; i < howOften; i++) { + sqJena.getAsXMLString(queryString); + + + } + System.out.println("Jena needed: "+(System.currentTimeMillis()-now)); + now=System.currentTimeMillis(); + for (int i = 0; i < howOften; i++) { + sqConv.getAsXMLString(queryString); + } + System.out.println("Conv needed: "+(System.currentTimeMillis()-now)); + } + + public static void compareResults( String queryString){ + SpecificSparqlEndpoint sse= PredefinedEndpoint.dbpediaEndpoint(); + SparqlQuery sqJena=new SparqlQuery(sse); + SparqlQueryConventional sqConv=new SparqlQueryConventional(sse); + + System.out.println(sqJena.getAsXMLString(queryString)); + System.out.println(sqConv.getAsXMLString(queryString)); + + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |