From: <sk...@us...> - 2008-01-30 10:27:23
|
Revision: 464 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=464&view=rev Author: sknappe Date: 2008-01-30 02:27:21 -0800 (Wed, 30 Jan 2008) Log Message: ----------- now works with the new Cache Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java trunk/src/dl-learner/org/dllearner/server/ClientState.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-30 10:26:38 UTC (rev 463) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-30 10:27:21 UTC (rev 464) @@ -101,8 +101,6 @@ // received ontology as KB, the internal format private KB kb; - private boolean cached=true; - public static String getName() { return "SPARQL Endpoint"; } @@ -159,8 +157,6 @@ "role to learn Domain/Range from")); options.add(new StringConfigOption("blankNodeIdentifier", "used to identify blanknodes in Tripels")); - options.add(new BooleanConfigOption("cached", - "use Cache")); options.add(new StringTupleListConfigOption("example", "example")); options.add(new StringTupleListConfigOption("replacePredicate", "rule for replacing predicates")); @@ -219,8 +215,6 @@ dumpToFile = (Boolean) entry.getValue(); } else if (option.equals("useLits")) { useLits = (Boolean) entry.getValue(); - } else if (option.equals("cached")) { - cached = (Boolean) entry.getValue(); } else if (option.equals("getAllSuperClasses")) { getAllSuperClasses = (Boolean) entry.getValue(); /* @@ -395,11 +389,12 @@ public SparqlQuery sparqlQuery(String query) { this.endpoint = new SparqlEndpoint(url, defaultGraphURIs, namedGraphURIs); -// if (cached) -// return new CachedSparqlQueryTest(endpoint, new Cache("cache"),""+query.hashCode(),query); -// else - return new SparqlQuery(query, endpoint); + return new SparqlQuery(query, endpoint); } + + public SparqlQueryThreaded sparqlQueryThreaded(String query){ + return new SparqlQueryThreaded(new Cache("cache"),this.sparqlQuery(query)); + } /*public static void main(String[] args) throws MalformedURLException { String query = "SELECT ?pred ?obj\n" Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-01-30 10:26:38 UTC (rev 463) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-01-30 10:27:21 UTC (rev 464) @@ -46,12 +46,10 @@ private static Logger logger = Logger.getLogger(SparqlKnowledgeSource.class); private boolean isRunning = false; - // TODO: declare as private - protected String queryString; + private String queryString; private QueryEngineHTTP queryExecution; private SparqlEndpoint endpoint; - // TODO: declare as private - protected ResultSet rs = null; + private ResultSet rs = null; /** * Standard constructor. @@ -64,11 +62,6 @@ this.endpoint = endpoint; } - @Deprecated - public void setIsRunning(boolean running) { - this.isRunning = running; - } - /** * Sends a SPARQL query using the Jena library. */ @@ -110,6 +103,10 @@ public boolean isRunning() { return isRunning; } + + public QueryEngineHTTP getExecution(){ + return queryExecution; + } public boolean hasCompleted() { return (rs != null); @@ -184,7 +181,7 @@ ResultSetFormatter.outputAsJSON(baos, resultSet); // possible Jena bug: Jena modifies the result set during // JSON transformation, so we need to get it back - resultSet = JSONtoResultSet(baos.toString()); + //resultSet = JSONtoResultSet(baos.toString()); return baos.toString(); } Added: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryThreaded.java 2008-01-30 10:27:21 UTC (rev 464) @@ -0,0 +1,40 @@ +package org.dllearner.kb.sparql; + +import com.hp.hpl.jena.query.ResultSet; + +/** + * The class is used for threaded querying of a Sparql Endpoint. + * @author Sebastian Knappe + * + */ +public class SparqlQueryThreaded { + private boolean isRunning=false; + private Cache cache; + private SparqlQuery query; + + public SparqlQueryThreaded(Cache cache, SparqlQuery query) + { + this.cache=cache; + this.query=query; + } + + public void stop() { + query.getExecution().abort(); + isRunning = false; + } + + public boolean isRunning() { + return isRunning; + } + + public void send() + { + isRunning=true; + cache.executeSparqlQuery(query); + isRunning=false; + } + + public SparqlQuery getSparqlQuery(){ + return query; + } +} Modified: trunk/src/dl-learner/org/dllearner/server/ClientState.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/ClientState.java 2008-01-30 10:26:38 UTC (rev 463) +++ trunk/src/dl-learner/org/dllearner/server/ClientState.java 2008-01-30 10:27:21 UTC (rev 464) @@ -35,6 +35,7 @@ import org.dllearner.kb.OWLFile; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; +import org.dllearner.kb.sparql.SparqlQueryThreaded; /** * Stores the state of a DL-Learner client session. @@ -51,7 +52,7 @@ private Set<KnowledgeSource> knowledgeSources = new HashSet<KnowledgeSource>(); - private Map<Integer, SparqlQuery> queryIDs = new HashMap<Integer, SparqlQuery>(); + private Map<Integer, SparqlQueryThreaded> queryIDs = new HashMap<Integer, SparqlQueryThreaded>(); private LearningProblem learningProblem; @@ -73,7 +74,7 @@ return id; } - private int generateQueryID(SparqlQuery query) { + private int generateQueryID(SparqlQueryThreaded query) { int id; Random rand = new Random(); do { @@ -83,11 +84,11 @@ return id; } - public int addQuery(SparqlQuery query){ + public int addQuery(SparqlQueryThreaded query){ return this.generateQueryID(query); } - public SparqlQuery getQuery(int id){ + public SparqlQueryThreaded getQuery(int id){ return queryIDs.get(id); } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-01-30 10:26:38 UTC (rev 463) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-01-30 10:27:21 UTC (rev 464) @@ -494,23 +494,23 @@ public String[][] getAsStringArray(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - return state.getQuery(queryID).getAsStringArray(); + return state.getQuery(queryID).getSparqlQuery().getAsStringArray(); } @WebMethod public String getAsJSON(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - ResultSet rs = state.getQuery(queryID).send(); - return SparqlQuery.getAsJSON(rs); + ResultSet resultSet=state.getQuery(queryID).getSparqlQuery().getResultSet(); + return SparqlQuery.getAsJSON(resultSet); } @WebMethod public String getAsXMLString(int sessionID, int queryID) throws ClientNotKnownException { ClientState state = getState(sessionID); - ResultSet rs = state.getQuery(queryID).send(); - return SparqlQuery.getAsXMLString(rs); + ResultSet resultSet=state.getQuery(queryID).getSparqlQuery().getResultSet(); + return SparqlQuery.getAsXMLString(resultSet); } @WebMethod @@ -518,14 +518,11 @@ { final ClientState state = getState(sessionID); final Component component = state.getComponent(componentID); - final int id=state.addQuery(((SparqlKnowledgeSource)component).sparqlQuery(query)); + final int id=state.addQuery(((SparqlKnowledgeSource)component).sparqlQueryThreaded(query)); Thread sparqlThread = new Thread() { @Override public void run() { - SparqlQuery query=state.getQuery(id); - query.setIsRunning(true); - query.send(); - query.setIsRunning(false); + state.getQuery(id).send(); } }; sparqlThread.start(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |