From: <ku...@us...> - 2011-11-21 18:25:17
|
Revision: 3424 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3424&view=rev Author: kurzum Date: 2011-11-21 18:25:06 +0000 (Mon, 21 Nov 2011) Log Message: ----------- added generic rest interface Modified Paths: -------------- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java Modified: trunk/interfaces/src/main/java/org/dllearner/server/Rest.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2011-11-21 15:34:59 UTC (rev 3423) +++ trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2011-11-21 18:25:06 UTC (rev 3424) @@ -1,8 +1,10 @@ package org.dllearner.server; -import com.jamonapi.Monitor; -import com.jamonapi.MonitorFactory; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.httpclient.util.ExceptionUtil; +import org.apache.commons.lang.exception.ExceptionUtils; +import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; +import org.dllearner.learningproblems.EvaluatedDescriptionPosNeg; +import org.json.simple.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,8 +14,6 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; -import java.net.URLEncoder; -import java.security.InvalidParameterException; import java.util.HashMap; import java.util.Map; @@ -41,6 +41,8 @@ * @throws java.io.IOException */ private void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { + JSONObject result = new JSONObject(); + JSONObject learningResult = new JSONObject(); try { String conf = null; if (!isSet("conf", httpServletRequest)) { @@ -49,80 +51,77 @@ conf = httpServletRequest.getParameter("conf"); } - /*todo learn - Description d = learn (conf); - String concept = d.getConceptAsString (); - String sparql = new SPARLQConverter().convert(d); - */ - String concept = "hasCar some (ClosedCar and ShortCar)"; - String sparql = "SELECT ?instances { ?instances :hasCar ?o . ?o rdf:type :ClosedCar. ?o2 rdf:type :ShortCar "; + /*todo learn*/ - String result="{\"concept\": \""+concept+"\", \"SPARQL\":\""+sparql+"\"}"; - result+="\n\nconf was:\n"+conf; + if (isSet("debug", httpServletRequest) && httpServletRequest.getParameter("debug").equalsIgnoreCase("true")) { - httpServletResponse.setContentType("text/plain"); - PrintWriter out = httpServletResponse.getWriter(); - out.println(result); - out.close(); + String manchester = "author some (Artist and Writer)"; + String sparql = "prefix dbo: <http://dbpedia.org/ontology/>\n" + + "SELECT ?instances WHERE {\n" + + "?instances dbo:author ?o . ?o a dbo:Artist . ?o a dbo:Writer .\n" + + "} "; + + learningResult.put("success", "1"); + learningResult.put("manchester", manchester); + learningResult.put("kbsyntax", "other syntax"); + learningResult.put("sparql", sparql); + learningResult.put("truePositives", "uri1, uri2"); + learningResult.put("truePositives", "uri1, uri2"); + learningResult.put("trueNegatives", "uri1, uri2"); + learningResult.put("falseNegatives", "uri1, uri2"); + } else { + + EvaluatedDescriptionPosNeg ed = learn(conf); + + SparqlQueryDescriptionConvertVisitor sqd = new SparqlQueryDescriptionConvertVisitor(); + learningResult.put("success", "1"); + learningResult.put("manchester", ed.getDescription().toManchesterSyntaxString(null, null)); + learningResult.put("kbsyntax", ed.getDescription().toKBSyntaxString()); + learningResult.put("sparql", sqd.getSparqlQuery(ed.getDescription())); + learningResult.put("truePositives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getCoveredPositives())); + learningResult.put("falsePositives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getNotCoveredPositives())); + learningResult.put("trueNegatives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getNotCoveredNegatives())); + learningResult.put("falseNegatives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getCoveredNegatives())); + } + + } catch (IllegalArgumentException e) { String msg = e.getMessage();// + printParameterMap(httpServletRequest); log.error(msg); - httpServletResponse.setContentType("text/plain"); - PrintWriter out = httpServletResponse.getWriter(); - out.println(msg); - out.close(); + learningResult.put("success", "0"); + learningResult.put("error", msg); + learningResult.put("stacktrace", ExceptionUtils.getFullStackTrace(e)); } catch (Exception e) { String msg = "An error occured: " + e.getMessage(); //+ printParameterMap(httpServletRequest); log.error(msg, e); - httpServletResponse.setContentType("text/plain"); - PrintWriter out = httpServletResponse.getWriter(); - out.println(msg); - out.close(); - + learningResult.put("success", "0"); + learningResult.put("error", msg); + learningResult.put("stacktrace", ExceptionUtils.getFullStackTrace(e)); } - } + result.put("learningresult", learningResult); + httpServletResponse.setContentType("text/plain"); + PrintWriter out = httpServletResponse.getWriter(); + out.println(result.toJSONString()); + out.close(); - - public static String requiredParameter(String parameterName, HttpServletRequest hsr) { - - if (!isSet(parameterName, hsr)) { - throw new IllegalArgumentException("Missing parameter: " + parameterName + " is required. "); - } - return hsr.getParameter(parameterName); } - public static String requiredParameter(String parameterName, HttpServletRequest hsr, String... requiredValues) { - String value = requiredParameter(parameterName, hsr); - if (!oneOf(value, requiredValues)) { - throw new InvalidParameterException("Wrong value for parameter " + parameterName + ", value was: " + value + ", but must be one of ( " + StringUtils.join(requiredValues, ", ") + " ) "); - } - return value; - } + /** + * TODO + * This function takes the config string as in a conf file and the returns an EvaluatedDescription + * + * @param conf the content of a conf file + * @return + */ + public EvaluatedDescriptionPosNeg learn(String conf) { - - public static String getDocumentation(String serviceUrl) { - String doc = ""; - try { - doc = "\nExample1: \n " + serviceUrl + "?input=" + URLEncoder.encode("That's a lot of nuts! That'll be four bucks, baby! You want fries with that? ", "UTF-8") + "&type=text"; - doc += "\nExample2: \n " + serviceUrl + "?input=" + URLEncoder.encode("That's a lot of nuts! That's a lot of nuts! ", "UTF-8") + "&type=text"; - } catch (Exception e) { - log.error("", e); - } - return doc; + return null; } - public static boolean oneOf(String value, String... possibleValues) { - for (String s : possibleValues) { - if (s.equals(value)) { - return true; - } - } - return false; - } public static boolean isSet(String parameterName, HttpServletRequest hsr) { boolean retVal = hsr.getParameterValues(parameterName) != null && hsr.getParameterValues(parameterName).length == 1 && hsr.getParameter(parameterName).length() > 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2012-01-13 14:42:06
|
Revision: 3553 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3553&view=rev Author: kurzum Date: 2012-01-13 14:41:55 +0000 (Fri, 13 Jan 2012) Log Message: ----------- added new parameter limit to rest interface Modified Paths: -------------- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java Modified: trunk/interfaces/src/main/java/org/dllearner/server/Rest.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2012-01-11 15:32:31 UTC (rev 3552) +++ trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2012-01-13 14:41:55 UTC (rev 3553) @@ -61,14 +61,16 @@ JSONObject learningResult = new JSONObject(); try { String conf = null; + int limit = 5; if (!isSet("conf", httpServletRequest)) { throw new IllegalArgumentException("Missing parameter: conf is required. "); } else { conf = httpServletRequest.getParameter("conf"); + if(isSet("limit" , httpServletRequest)){ + limit = Integer.parseInt(httpServletRequest.getParameter("limit")) ; + } } - /*todo learn*/ - if (isSet("debug", httpServletRequest) && httpServletRequest.getParameter("debug").equalsIgnoreCase("true")) { @@ -91,6 +93,8 @@ EvaluatedDescriptionPosNeg ed = learn(conf); SparqlQueryDescriptionConvertVisitor sqd = new SparqlQueryDescriptionConvertVisitor(); + sqd.setLimit(limit); + learningResult.put("success", "1"); learningResult.put("manchester", ed.getDescription().toManchesterSyntaxString(null, null)); learningResult.put("kbsyntax", ed.getDescription().toKBSyntaxString()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2012-05-03 19:14:48
|
Revision: 3687 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3687&view=rev Author: kurzum Date: 2012-05-03 18:04:44 +0000 (Thu, 03 May 2012) Log Message: ----------- added accuracy to output Modified Paths: -------------- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java Modified: trunk/interfaces/src/main/java/org/dllearner/server/Rest.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2012-05-03 15:25:13 UTC (rev 3686) +++ trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2012-05-03 18:04:44 UTC (rev 3687) @@ -76,6 +76,7 @@ learningResult.put("manchester", manchester); learningResult.put("kbsyntax", "other syntax"); learningResult.put("sparql", sparql); + learningResult.put("accuracy", 1.0); learningResult.put("truePositives", "uri1, uri2"); learningResult.put("truePositives", "uri1, uri2"); learningResult.put("trueNegatives", "uri1, uri2"); @@ -91,6 +92,7 @@ learningResult.put("manchester", ed.getDescription().toManchesterSyntaxString(null, null)); learningResult.put("kbsyntax", ed.getDescription().toKBSyntaxString()); learningResult.put("sparql", sqd.getSparqlQuery(ed.getDescription())); + learningResult.put("accuracy", ed.getAccuracy()); learningResult.put("truePositives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getCoveredPositives())); learningResult.put("falsePositives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getNotCoveredPositives())); learningResult.put("trueNegatives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getNotCoveredNegatives())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dc...@us...> - 2013-06-14 12:41:53
|
Revision: 3999 http://sourceforge.net/p/dl-learner/code/3999 Author: dcherix Date: 2013-06-14 12:41:49 +0000 (Fri, 14 Jun 2013) Log Message: ----------- Changed in the Rest api class to use the OWLClassExpressionToSparqlConverter Modified Paths: -------------- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java Modified: trunk/interfaces/src/main/java/org/dllearner/server/Rest.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2013-06-14 09:24:13 UTC (rev 3998) +++ trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2013-06-14 12:41:49 UTC (rev 3999) @@ -9,6 +9,8 @@ import org.dllearner.core.LearningAlgorithm; import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; import org.dllearner.learningproblems.EvaluatedDescriptionPosNeg; +import org.dllearner.utilities.owl.OWLAPIConverter; +import org.dllearner.utilities.owl.OWLClassExpressionToSPARQLConverter; import org.json.simple.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -73,7 +75,7 @@ "} "; learningResult.put("success", "1"); - learningResult.put("manchester", manchester); + learningResult.put("manchester", manchester); learningResult.put("kbsyntax", "other syntax"); learningResult.put("sparql", sparql); learningResult.put("accuracy", 1.0); @@ -87,11 +89,12 @@ SparqlQueryDescriptionConvertVisitor sqd = new SparqlQueryDescriptionConvertVisitor(); sqd.setLimit(limit); - - learningResult.put("success", "1"); + OWLClassExpressionToSPARQLConverter sparqlConv = new OWLClassExpressionToSPARQLConverter(); + learningResult.put("success", "1"); learningResult.put("manchester", ed.getDescription().toManchesterSyntaxString(null, null)); learningResult.put("kbsyntax", ed.getDescription().toKBSyntaxString()); - learningResult.put("sparql", sqd.getSparqlQuery(ed.getDescription())); +// learningResult.put("sparql", sqd.getSparqlQuery(ed.getDescription())); + learningResult.put("sparql", sparqlConv.asQuery("?subject", OWLAPIConverter.getOWLAPIDescription(ed.getDescription()))); learningResult.put("accuracy", ed.getAccuracy()); learningResult.put("truePositives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getCoveredPositives())); learningResult.put("falsePositives", EvaluatedDescriptionPosNeg.getJSONArray(ed.getNotCoveredPositives())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dc...@us...> - 2013-07-15 16:32:57
|
Revision: 4019 http://sourceforge.net/p/dl-learner/code/4019 Author: dcherix Date: 2013-07-15 16:32:53 +0000 (Mon, 15 Jul 2013) Log Message: ----------- Cahnges in Rest to return http error stats on exceptions Modified Paths: -------------- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java Modified: trunk/interfaces/src/main/java/org/dllearner/server/Rest.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2013-07-12 09:03:21 UTC (rev 4018) +++ trunk/interfaces/src/main/java/org/dllearner/server/Rest.java 2013-07-15 16:32:53 UTC (rev 4019) @@ -57,7 +57,9 @@ String conf = null; int limit = 5; if (!isSet("conf", httpServletRequest)) { - throw new IllegalArgumentException("Missing parameter: conf is required. "); +// throw new IllegalArgumentException("Missing parameter: conf is required. "); + httpServletResponse.sendError(400, "Missing parameter: conf is required. "); + return; } else { conf = httpServletRequest.getParameter("conf"); if (isSet("limit", httpServletRequest)) { @@ -116,6 +118,8 @@ learningResult.put("success", "0"); learningResult.put("error", msg); learningResult.put("stacktrace", ExceptionUtils.getRootCause(e)); + result.put("learningresult", learningResult); + httpServletResponse.sendError(500, result.toJSONString()); } result.put("learningresult", learningResult); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |