From: <lor...@us...> - 2010-10-10 10:28:16
|
Revision: 2369 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2369&view=rev Author: lorenz_b Date: 2010-10-10 10:28:09 +0000 (Sun, 10 Oct 2010) Log Message: ----------- Continued autosparql component. Modified Paths: -------------- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLService.java trunk/autosparql/src/main/java/org/dllearner/autosparql/client/view/ApplicationView.java trunk/autosparql/src/main/java/org/dllearner/autosparql/client/widget/InteractivePanel.java trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SPARQLServiceImpl.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorImpl.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/Generalisation.java trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/DBPediaTestScript.java trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/ExamplesList.txt Added Paths: ----------- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/exception/ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/exception/SPARQLQueryException.java Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLService.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLService.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLService.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -2,6 +2,7 @@ import java.util.List; +import org.dllearner.autosparql.client.exception.SPARQLQueryException; import org.dllearner.autosparql.client.model.Example; import com.extjs.gxt.ui.client.data.PagingLoadConfig; @@ -15,7 +16,7 @@ PagingLoadResult<Example> getSearchResult(String searchTerm, PagingLoadConfig config); - Example getSimilarExample(List<String> posExamples, List<String> negExamples); + Example getSimilarExample(List<String> posExamples, List<String> negExamples) throws SPARQLQueryException; /** * Utility class to get the RPC Async interface from client-side code Added: trunk/autosparql/src/main/java/org/dllearner/autosparql/client/exception/SPARQLQueryException.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/exception/SPARQLQueryException.java (rev 0) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/exception/SPARQLQueryException.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -0,0 +1,30 @@ +package org.dllearner.autosparql.client.exception; + +import java.io.Serializable; + +public class SPARQLQueryException extends Exception implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 3205559196686634580L; + + private String query; + + public SPARQLQueryException(){ + } + + public SPARQLQueryException(String query){ + this.query = query; + } + + public SPARQLQueryException(Exception e, String query){ + super(e); + this.query = query; + } + + public String getQuery(){ + return query; + } + +} Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/client/view/ApplicationView.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/view/ApplicationView.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/view/ApplicationView.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -2,6 +2,7 @@ import org.dllearner.autosparql.client.AppEvents; import org.dllearner.autosparql.client.SPARQLService; +import org.dllearner.autosparql.client.exception.SPARQLQueryException; import org.dllearner.autosparql.client.model.Example; import org.dllearner.autosparql.client.widget.ExamplesPanel; import org.dllearner.autosparql.client.widget.InteractivePanel; @@ -19,6 +20,7 @@ import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.layout.RowLayout; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.RootPanel; public class ApplicationView extends View { @@ -113,11 +115,17 @@ @Override public void onFailure(Throwable caught) { - // TODO Auto-generated method stub + String details = caught.getMessage(); + if(caught instanceof SPARQLQueryException){ + details = "An error occured while sending the following query:\n" + + ((SPARQLQueryException)caught).getQuery(); + } + System.out.println(details); + MessageBox.alert("Error", details, null); } }); - }else if(event.getType() == AppEvents.AddNegExample){ + } else if(event.getType() == AppEvents.AddNegExample){ examplesPanel.addNegativeExample((Example) event.getData()); } else if(event.getType() == AppEvents.RemoveExample){ Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/client/widget/InteractivePanel.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/widget/InteractivePanel.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/widget/InteractivePanel.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -100,8 +100,11 @@ addPosButton.addSelectionListener(new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce) { - AppEvent event = new AppEvent(AppEvents.AddPosExample, model); + AppEvent event = new AppEvent(AppEvents.AddExample, model); + event.setData("type", Example.Type.POSITIVE); + event.setData("example", model); Dispatcher.forwardEvent(event); + examplesStore.remove(model); } }); Button addNegButton = new Button("-"); @@ -109,8 +112,11 @@ addNegButton.addSelectionListener(new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce) { - AppEvent event = new AppEvent(AppEvents.AddNegExample, model); + AppEvent event = new AppEvent(AppEvents.AddExample, model); + event.setData("type", Example.Type.NEGATIVE); + event.setData("example", model); Dispatcher.forwardEvent(event); + examplesStore.remove(model); } }); p.add(addPosButton); Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SPARQLServiceImpl.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SPARQLServiceImpl.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SPARQLServiceImpl.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -6,6 +6,7 @@ import javax.servlet.http.HttpSession; import org.dllearner.autosparql.client.SPARQLService; +import org.dllearner.autosparql.client.exception.SPARQLQueryException; import org.dllearner.autosparql.client.model.Example; import org.dllearner.sparqlquerygenerator.SPARQLQueryGenerator; import org.dllearner.sparqlquerygenerator.datastructures.QueryTree; @@ -69,7 +70,7 @@ @Override public Example getSimilarExample(List<String> posExamples, - List<String> negExamples) { + List<String> negExamples) throws SPARQLQueryException{ System.out.println("RETRIEVING NEXT SIMILIAR EXAMPLE"); System.out.println("POS EXAMPLES: " + posExamples); System.out.println("NEG EXAMPLES: " + negExamples); @@ -87,9 +88,16 @@ SPARQLQueryGenerator gen = new SPARQLQueryGeneratorImpl(getEndpoint().getURL().toString()); List<String> queries = gen.getSPARQLQueries(new HashSet<String>(posExamples), new HashSet<String>(negExamples)); query = queries.get(0); + System.out.println("QUERY:\n" + query); } query = query + " LIMIT 2"; - String result = selectCache.executeSelectQuery(getEndpoint(), query); + String result = ""; + try { + result = selectCache.executeSelectQuery(getEndpoint(), query); + } catch (Exception e) { + e.printStackTrace(); + throw new SPARQLQueryException(e, encodeHTML(query)); + } ResultSetRewindable rs = ExtractionDBCache.convertJSONtoResultSet(result); String uri; @@ -120,4 +128,22 @@ return new Example(uri, label, imageURL, comment); } + public String encodeHTML(String s) + { + StringBuffer out = new StringBuffer(); + for(int i=0; i<s.length(); i++) + { + char c = s.charAt(i); + if(c > 127 || c=='"' || c=='<' || c=='>') + { + out.append("&#"+(int)c+";"); + } + else + { + out.append(c); + } + } + return out.toString(); + } + } Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorImpl.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorImpl.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorImpl.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -252,7 +252,7 @@ sb.append("?o").append(i-1).append(" ").append("?p").append(i).append(" ").append("?o").append(i).append(".\n"); } - sb.append("FILTER (regex (?p0, \"http://dbpedia.org/property\") && !regex(?p1, \"http://dbpedia.org/property/wikiPageUsesTemplate\"))"); + sb.append("FILTER (!regex (?p0, \"http://dbpedia.org/property\"))"); sb.append("}\n"); sb.append("ORDER BY "); for(int i = 0; i < recursionDepth; i++){ Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/Generalisation.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/Generalisation.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/Generalisation.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -3,6 +3,8 @@ import org.dllearner.sparqlquerygenerator.datastructures.QueryTree; import org.dllearner.sparqlquerygenerator.datastructures.impl.QueryTreeImpl; +import com.hp.hpl.jena.vocabulary.RDF; + public class Generalisation<N> { public QueryTree<N> generalise(QueryTree<N> queryTree){ @@ -11,6 +13,7 @@ copy.setUserObject((N)"?"); pruneTree(copy, 0.5); + retainTypeEdges(copy); return copy; } @@ -32,5 +35,13 @@ } } + private void retainTypeEdges(QueryTree<N> tree){ + for(QueryTree<N> child : tree.getChildren()){ + if(!tree.getEdge(child).equals(RDF.type.toString())){ + tree.removeChild((QueryTreeImpl<N>) child); + } + } + } + } Modified: trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/DBPediaTestScript.java =================================================================== --- trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/DBPediaTestScript.java 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/DBPediaTestScript.java 2010-10-10 10:28:09 UTC (rev 2369) @@ -41,8 +41,8 @@ */ public class DBPediaTestScript { -// private static final String DBPEDIA_ENDPOINT_URL = "http://dbpedia.org/sparql/"; - private static final String DBPEDIA_ENDPOINT_URL = "http://dbpedia-live.openlinksw.com/sparql/"; + private static final String DBPEDIA_ENDPOINT_URL = "http://dbpedia.org/sparql/"; +// private static final String DBPEDIA_ENDPOINT_URL = "http://dbpedia-live.openlinksw.com/sparql/"; public static void main(String[] args) throws IOException{ Modified: trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/ExamplesList.txt =================================================================== --- trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/ExamplesList.txt 2010-10-09 20:14:16 UTC (rev 2368) +++ trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/ExamplesList.txt 2010-10-10 10:28:09 UTC (rev 2369) @@ -1,2 +1,2 @@ -+http://dbpedia.org/resource/Gottfried_Leibniz -+http://dbpedia.org/resource/Max_Immelmann \ No newline at end of file ++http://dbpedia.org/resource/Leipzig ++http://dbpedia.org/resource/Dresden \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |