From: <sk...@us...> - 2008-02-28 20:25:24
|
Revision: 663 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=663&view=rev Author: sknappe Date: 2008-02-28 12:25:13 -0800 (Thu, 28 Feb 2008) Log Message: ----------- bugfixes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-02-28 14:18:15 UTC (rev 662) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-02-28 20:25:13 UTC (rev 663) @@ -33,7 +33,6 @@ import org.apache.log4j.Logger; import com.hp.hpl.jena.query.ResultSet; -import com.hp.hpl.jena.query.ResultSetFormatter; /** * SPARQL query cache to avoid possibly expensive multiple queries. The queries @@ -213,19 +212,18 @@ * The SPARQL query. * @return Jena result set. */ - public ResultSet executeSparqlQuery(SparqlQuery query) { + public String executeSparqlQuery(SparqlQuery query) { String result = getCacheEntry(query.getQueryString()); if (result != null) { - return SparqlQuery.JSONtoResultSet(result); + return result; } else { query.send(); - ResultSet rs = query.getResultSet(); - if (rs!=null){ - String json = SparqlQuery.getAsJSON(rs); + String json = query.getResult(); + if (json!=null){ addToCache(query.getQueryString(), json); - return SparqlQuery.JSONtoResultSet(json); } - return rs; + else json=""; + return json; } } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-02-28 14:18:15 UTC (rev 662) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-02-28 20:25:13 UTC (rev 663) @@ -50,7 +50,7 @@ private String queryString; private QueryEngineHTTP queryExecution; private SparqlEndpoint endpoint; - private ResultSet rs = null; + private String json = null; private SparqlQueryException sendException=null; /** @@ -69,6 +69,7 @@ */ public ResultSet send() { isRunning = true; + ResultSet rs=null; logger.info(queryString); String service = endpoint.getURL().toString(); @@ -86,6 +87,7 @@ //TODO after overnext Jena release HttpQuery.urlLimit = 3*1024 ; rs = queryExecution.execSelect(); + json=SparqlQuery.getAsJSON(rs); logger.info(rs.getResultVars().toString()); } catch (Exception e){ sendException=new SparqlQueryException(e.getMessage()); @@ -104,8 +106,8 @@ return queryString; } - public ResultSet getResultSet() { - return rs; + public String getResult() { + return json; } public boolean isRunning() { @@ -121,37 +123,10 @@ } public boolean hasCompleted() { - return (rs != null); + return (json != null); } /** - * TODO define the format - * - * @return - */ - @Deprecated - @SuppressWarnings( { "unchecked" }) - public static String[][] getAsStringArray(ResultSet rs) { - List<ResultBinding> l = ResultSetFormatter.toList(rs); - List<String> resultVars = rs.getResultVars(); - String[][] array = new String[l.size()][resultVars.size()]; - Iterator<String> iter = resultVars.iterator(); - int i = 0, j = 0; - - for (ResultBinding resultBinding : l) { - while (iter.hasNext()) { - String varName = (String) iter.next(); - array[i][j] = resultBinding.get(varName).toString(); - j++; - } - iter = resultVars.iterator(); - i++; - j = 0; - } - return array; - } - - /** * sends a query and returns XML * * @return String xml Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-02-28 14:18:15 UTC (rev 662) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-02-28 20:25:13 UTC (rev 663) @@ -8,38 +8,36 @@ * */ public class SparqlQueryThreaded { - private boolean isRunning=false; private Cache cache; private SparqlQuery query; - private ResultSet result; + private String result; public SparqlQueryThreaded(Cache cache, SparqlQuery query) { this.cache=cache; this.query=query; + this.result=null; } public void stop() { query.getExecution().abort(); - isRunning = false; + result=null; } public boolean isRunning() { - return isRunning; + return result==null; } public void send() { - isRunning=true; result=cache.executeSparqlQuery(query); - isRunning=false; } public SparqlQuery getSparqlQuery(){ return query; } - public ResultSet getResult(){ + public String getResult(){ return result; } } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-02-28 14:18:15 UTC (rev 662) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-02-28 20:25:13 UTC (rev 663) @@ -87,7 +87,7 @@ // .getSparqlEndpoint(), cache, uri.toString(), sparqlQueryString); SparqlQuery query = new SparqlQuery(sparqlQueryString, configuration.getSparqlEndpoint()); - ResultSet rs = cache.executeSparqlQuery(query); + ResultSet rs = SparqlQuery.JSONtoResultSet(cache.executeSparqlQuery(query)); List<ResultBinding> l = ResultSetFormatter.toList(rs); p(l.toString()); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java 2008-02-28 14:18:15 UTC (rev 662) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java 2008-02-28 20:25:13 UTC (rev 663) @@ -64,7 +64,7 @@ + "}"; SparqlQuery query = new SparqlQuery(sparqlQueryString, configuration.getSparqlEndpoint()); - ResultSet rs = cache.executeSparqlQuery(query); + ResultSet rs = SparqlQuery.JSONtoResultSet(cache.executeSparqlQuery(query)); List<ResultBinding> l = ResultSetFormatter.toList(rs); for (ResultBinding resultBinding : l) { Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-02-28 14:18:15 UTC (rev 662) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-02-28 20:25:13 UTC (rev 663) @@ -57,6 +57,7 @@ import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.kb.sparql.SparqlQueryException; +import org.dllearner.kb.sparql.SparqlQueryThreaded; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; import org.dllearner.learningproblems.PosOnlyDefinitionLP; @@ -501,29 +502,21 @@ // SPARQL component methods // //////////////////////////////////////// + @WebMethod - public String[][] getAsStringArray(int sessionID, int queryID) throws ClientNotKnownException, SparqlQueryException - { - ClientState state = getState(sessionID); - SparqlQueryException exception=null; - if ((exception=state.getQuery(queryID).getSparqlQuery().getException())!=null) throw exception; - return SparqlQuery.getAsStringArray(state.getQuery(queryID).getResult()); - } - - @WebMethod public String getAsJSON(int sessionID, int queryID) throws ClientNotKnownException, SparqlQueryException { ClientState state = getState(sessionID); SparqlQueryException exception=null; if ((exception=state.getQuery(queryID).getSparqlQuery().getException())!=null) throw exception; - return SparqlQuery.getAsJSON(state.getQuery(queryID).getResult()); + return state.getQuery(queryID).getResult(); } @WebMethod public String getAsXMLString(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - ResultSet resultSet=state.getQuery(queryID).getResult(); + ResultSet resultSet=SparqlQuery.JSONtoResultSet(state.getQuery(queryID).getResult()); return SparqlQuery.getAsXMLString(resultSet); } @@ -544,6 +537,16 @@ } @WebMethod + public String sparqlQuery(int sessionID, int componentID, String query) throws ClientNotKnownException + { + ClientState state = getState(sessionID); + Component component = state.getComponent(componentID); + SparqlQueryThreaded sparql=((SparqlKnowledgeSource)component).sparqlQueryThreaded(query); + sparql.send(); + return sparql.getResult(); + } + + @WebMethod public boolean isSparqlQueryRunning(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |