From: <ku...@us...> - 2008-06-24 17:05:38
|
Revision: 979 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=979&view=rev Author: kurzum Date: 2008-06-24 10:04:10 -0700 (Tue, 24 Jun 2008) Log Message: ----------- made an extra log file just fo sparql in folder log/sparql.txt SparqlQuery method send should not return resultSet. Therefore I marked it deprecated. It is a possible source of errors, because it can only be used/traversed once. e.g. SparqlQuery.getAsXML(ResulSet); SparqlQuery.getAsXML(ResulSet); will produce an error on second call. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/cli/Start.java 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/server/DLLearnerWS.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-06-24 12:08:34 UTC (rev 978) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-06-24 17:04:10 UTC (rev 979) @@ -64,9 +64,9 @@ import org.dllearner.core.config.StringConfigOption; import org.dllearner.core.config.StringSetConfigOption; import org.dllearner.core.config.StringTupleListConfigOption; -import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.ObjectProperty; import org.dllearner.kb.KBFile; import org.dllearner.kb.OWLFile; @@ -120,18 +120,24 @@ // create logger (a simple logger which outputs // its messages to the console and a log file) + SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); - FileAppender fileAppender = null; + FileAppender fileAppenderNormal = null; + File f = new File("log/sparql.txt"); try { - fileAppender = new FileAppender(layout, "log/log.txt", false); + fileAppenderNormal = new FileAppender(layout, "log/log.txt", false); + f.delete(); + f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } + logger.removeAllAppenders(); logger.addAppender(consoleAppender); - logger.addAppender(fileAppender); + logger.addAppender(fileAppenderNormal); logger.setLevel(Level.DEBUG); + // Logger.getLogger(KnowledgeSource.class).setLevel(Level.WARN); // Logger.getLogger(SparqlKnowledgeSource.class).setLevel(Level.WARN); // Logger.getLogger(TypedSparqlQuery.class).setLevel(Level.WARN); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-06-24 12:08:34 UTC (rev 978) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-06-24 17:04:10 UTC (rev 979) @@ -31,11 +31,8 @@ import java.util.LinkedList; import org.apache.log4j.Logger; -import org.dllearner.core.KnowledgeSource; import org.dllearner.utilities.JamonMonitorLogger; -import com.hp.hpl.jena.query.ResultSet; - /** * SPARQL query cache to avoid possibly expensive multiple queries. The queries * and their results are written to files. A cache has an associated cache @@ -61,7 +58,8 @@ */ public class Cache implements Serializable { - private static Logger logger = Logger.getLogger(KnowledgeSource.class); + private static Logger logger = Logger.getLogger(Cache.class); + private static final long serialVersionUID = 843308736471742205L; @@ -237,39 +235,41 @@ * * @param query * The SPARQL query. - * @return Jena result set. + * @return Jena result set in JSON format */ public String executeSparqlQuery(SparqlQuery query) { JamonMonitorLogger.getTimeMonitor(Cache.class, "TotalTimeExecuteSparqlQuery").start(); JamonMonitorLogger.increaseCount(Cache.class, "TotalQueries"); - - - //Statistics.increaseQuery(); - + JamonMonitorLogger.getTimeMonitor(Cache.class, "ReadTime").start(); String result = getCacheEntry(query.getQueryString()); JamonMonitorLogger.getTimeMonitor(Cache.class, "ReadTime").stop(); if (result != null) { - query.setJson(result); - query.setRunning(false); - logger.trace("got from cache"); + //query.setJson(result); + + query.setRunning(false); + SparqlQuery.writeToSpecialLog("***********\nJSON retrieved from cache"); + SparqlQuery.writeToSpecialLog(query.getQueryString()); + SparqlQuery.writeToSpecialLog(query.getEndpoint().getURL().toString()); JamonMonitorLogger.increaseCount(Cache.class, "SuccessfulHits"); - //Statistics.increaseCachedQuery(); - //return result; + } else { - //SimpleClock sc = new SimpleClock(); - //sc.printAndSet("query"); - ResultSet rs= query.send(); - String json = SparqlQuery.getAsJSON(rs); + + //ResultSet rs= query.send(); + query.send(); + String json = query.getJson(); if (json!=null){ addToCache(query.getQueryString(), json); + SparqlQuery.writeToSpecialLog("result added to cache: "+json); result=json; query.setJson(result); } else { json=""; + result=""; logger.warn(Cache.class.getSimpleName()+"empty result: "+query.getQueryString()); + SparqlQuery.writeToSpecialLog("empty result for : "+query.getQueryString()); } //return json; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-06-24 12:08:34 UTC (rev 978) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-06-24 17:04:10 UTC (rev 979) @@ -21,15 +21,13 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.FileWriter; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; -import java.util.Iterator; import org.apache.log4j.Logger; -import org.dllearner.core.KnowledgeSource; import org.dllearner.utilities.JamonMonitorLogger; -import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFactory; import com.hp.hpl.jena.query.ResultSetFormatter; @@ -45,13 +43,14 @@ */ public class SparqlQuery { - private static Logger logger = Logger.getLogger(KnowledgeSource.class); + private static Logger logger = Logger.getLogger(SparqlQuery.class); + private boolean isRunning = false; private String queryString; private QueryEngineHTTP queryExecution; private SparqlEndpoint endpoint; - private ResultSet rs; + //private ResultSet rs; private String json; // private SparqlQueryException sendException=null; @@ -66,16 +65,26 @@ this.endpoint = endpoint; } + + + + /** * Sends a SPARQL query using the Jena library. + * should return JSON String + * needs refactoring + * @return ResultSet */ + @Deprecated public ResultSet send() { - + ResultSet rs; //isRunning = true; - logger.trace(queryString); + writeToSpecialLog("***********\nNew Query:"); + writeToSpecialLog(queryString); + writeToSpecialLog(endpoint.getURL().toString()); String service = endpoint.getURL().toString(); - logger.trace(endpoint.getURL().toString()); + // Jena access to SPARQL endpoint queryExecution = new QueryEngineHTTP(service, queryString); for (String dgu : endpoint.getDefaultGraphURIs()) { @@ -91,17 +100,20 @@ rs = queryExecution.execSelect(); JamonMonitorLogger.getTimeMonitor(SparqlQuery.class, "httpTime").stop(); + logger.debug("query SPARQL server, retrieved: "+rs.getResultVars()); - - logger.trace(rs.getResultVars().toString()); -// } catch (Exception e){ -// sendException=new SparqlQueryException(e.getMessage()); -// logger.debug(e.getMessage()); -// //e.printStackTrace(); -// logger.debug("Exception when querying Sparql Endpoint in " + this.getClass()); -// logger.debug(queryString); -// } - //isRunning = false; + writeToSpecialLog("query SPARQL server, retrieved: "+rs.getResultVars()); + writeToSpecialLog("Results from ResultSet"); + + json = SparqlQuery.getAsJSON(rs); + writeToSpecialLog(json); + rs = SparqlQuery.JSONtoResultSet(json); + while (rs.hasNext()){ + writeToSpecialLog("Result: "+rs.nextBinding()); + } + + isRunning = false; + rs = SparqlQuery.JSONtoResultSet(json); return rs; } @@ -114,6 +126,10 @@ return queryString; } + public SparqlEndpoint getEndpoint() { + return endpoint; + } + public boolean isRunning() { return isRunning; } @@ -185,7 +201,18 @@ this.isRunning=running; } - public ResultSet getResultSet(){ + public static void writeToSpecialLog(String s){ + try{ + FileWriter fw = new FileWriter("log/sparql.txt",true); + fw.write(s+"\n"); + fw.flush(); + fw.close(); + }catch (Exception e) { + e.printStackTrace(); + } + } + + /*public ResultSet getResultSet(){ return rs; - } + }*/ } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-24 12:08:34 UTC (rev 978) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-06-24 17:04:10 UTC (rev 979) @@ -51,16 +51,16 @@ import org.dllearner.core.LearningProblemUnsupportedException; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.config.ConfigOption; -import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.ObjectProperty; import org.dllearner.kb.OWLFile; +import org.dllearner.kb.sparql.Cache; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; import org.dllearner.kb.sparql.SparqlQueryException; -import org.dllearner.kb.sparql.Cache; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; import org.dllearner.learningproblems.PosOnlyDefinitionLP; @@ -72,8 +72,6 @@ import org.dllearner.utilities.Helper; import org.dllearner.utilities.datastructures.Datastructures; -import com.hp.hpl.jena.query.ResultSet; - /** * DL-Learner web service interface. * @@ -520,10 +518,10 @@ public String getAsJSON(int sessionID, int queryID) throws ClientNotKnownException, SparqlQueryException { ClientState state = getState(sessionID); - ResultSet resultSet=null; + //ResultSet resultSet=null; String json=null; if ((json=state.getQuery(queryID).getJson())!=null) return json; - else if ((resultSet=state.getQuery(queryID).getResultSet())!=null) return SparqlQuery.getAsJSON(resultSet); + //else if ((resultSet=state.getQuery(queryID).getResultSet())!=null) return SparqlQuery.getAsJSON(resultSet); else return SparqlQuery.getAsJSON(state.getQuery(queryID).send()); } @@ -531,10 +529,10 @@ public String getAsXMLString(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - ResultSet resultSet=null; + //ResultSet resultSet=null; String json=null; - if ((resultSet=state.getQuery(queryID).getResultSet())!=null) return SparqlQuery.getAsXMLString(resultSet); - else if ((json=state.getQuery(queryID).getJson())!=null) return SparqlQuery.getAsXMLString(SparqlQuery.JSONtoResultSet(json)); + //if ((resultSet=state.getQuery(queryID).getResultSet())!=null) return SparqlQuery.getAsXMLString(resultSet); + if ((json=state.getQuery(queryID).getJson())!=null) return SparqlQuery.getAsXMLString(SparqlQuery.JSONtoResultSet(json)); else return SparqlQuery.getAsXMLString(state.getQuery(queryID).send()); } @@ -590,7 +588,6 @@ public void stopSparqlThread(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - state.getQuery(queryID).stop(); } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java 2008-06-24 12:08:34 UTC (rev 978) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java 2008-06-24 17:04:10 UTC (rev 979) @@ -20,6 +20,7 @@ package org.dllearner.server; import java.io.BufferedReader; +import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetSocketAddress; @@ -29,6 +30,7 @@ import javax.xml.ws.Endpoint; import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.FileAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.SimpleLayout; @@ -46,14 +48,28 @@ public class DLLearnerWSStart { public static void main(String[] args) { - - // create web service logger - SimpleLayout layout = new SimpleLayout(); + + //create web service logger + SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); Logger logger = Logger.getRootLogger(); + + FileAppender fileAppenderNormal = null; + File f = new File("log/sparql.txt"); + try { + fileAppenderNormal = new FileAppender(layout, "log/log.txt", false); + f.delete(); + f.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + + logger.removeAllAppenders(); logger.addAppender(consoleAppender); + logger.addAppender(fileAppenderNormal); logger.setLevel(Level.INFO); + InetSocketAddress isa = new InetSocketAddress("localhost", 8181); HttpServer server = null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |