From: <lor...@us...> - 2010-10-15 10:51:40
|
Revision: 2394 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2394&view=rev Author: lorenz_b Date: 2010-10-15 10:51:31 +0000 (Fri, 15 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/SPARQLServiceAsync.java trunk/autosparql/src/main/java/org/dllearner/autosparql/client/view/ApplicationView.java trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SPARQLServiceImpl.java trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SparqlEndpoint.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/BruteForceNBRStrategy.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 trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/NBRTest.java Added Paths: ----------- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/model/Endpoint.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-14 17:40:43 UTC (rev 2393) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLService.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -3,6 +3,7 @@ import java.util.List; import org.dllearner.autosparql.client.exception.SPARQLQueryException; +import org.dllearner.autosparql.client.model.Endpoint; import org.dllearner.autosparql.client.model.Example; import com.extjs.gxt.ui.client.data.PagingLoadConfig; @@ -20,6 +21,10 @@ PagingLoadResult<Example> getCurrentQueryResult(PagingLoadConfig config) throws SPARQLQueryException; + void setEndpoint(Endpoint endpoint); + + List<Endpoint> getEndpoints(); + /** * Utility class to get the RPC Async interface from client-side code */ Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLServiceAsync.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLServiceAsync.java 2010-10-14 17:40:43 UTC (rev 2393) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/SPARQLServiceAsync.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -2,6 +2,7 @@ import java.util.List; +import org.dllearner.autosparql.client.model.Endpoint; import org.dllearner.autosparql.client.model.Example; import com.extjs.gxt.ui.client.data.PagingLoadConfig; @@ -21,4 +22,8 @@ void getCurrentQueryResult(PagingLoadConfig config, AsyncCallback<PagingLoadResult<Example>> callback); + void setEndpoint(Endpoint endpoint, AsyncCallback<Void> callback); + + void getEndpoints(AsyncCallback<List<Endpoint>> callback); + } Added: trunk/autosparql/src/main/java/org/dllearner/autosparql/client/model/Endpoint.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/client/model/Endpoint.java (rev 0) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/model/Endpoint.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -0,0 +1,27 @@ +package org.dllearner.autosparql.client.model; + + +import com.extjs.gxt.ui.client.data.BaseModel; + +public class Endpoint extends BaseModel{ + + + private static final long serialVersionUID = -3347290446256124889L; + + public Endpoint(){ + } + + public Endpoint(int id, String label){ + set("id", id); + set("label", label); + } + + public String getLabel(){ + return get("label"); + } + + public int getID(){ + return get("id"); + } + +} 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-14 17:40:43 UTC (rev 2393) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/client/view/ApplicationView.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -1,8 +1,11 @@ package org.dllearner.autosparql.client.view; +import java.util.List; + 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.Endpoint; import org.dllearner.autosparql.client.model.Example; import org.dllearner.autosparql.client.widget.ExamplesPanel; import org.dllearner.autosparql.client.widget.InfoPanel; @@ -15,15 +18,19 @@ import com.extjs.gxt.ui.client.Style.Orientation; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.MessageBoxEvent; +import com.extjs.gxt.ui.client.event.SelectionChangedEvent; +import com.extjs.gxt.ui.client.event.SelectionChangedListener; import com.extjs.gxt.ui.client.mvc.AppEvent; import com.extjs.gxt.ui.client.mvc.Controller; import com.extjs.gxt.ui.client.mvc.View; +import com.extjs.gxt.ui.client.store.ListStore; import com.extjs.gxt.ui.client.util.Margins; import com.extjs.gxt.ui.client.widget.HtmlContainer; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.Viewport; import com.extjs.gxt.ui.client.widget.button.Button; +import com.extjs.gxt.ui.client.widget.form.ComboBox; import com.extjs.gxt.ui.client.widget.layout.BorderLayout; import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; import com.extjs.gxt.ui.client.widget.layout.FitLayout; @@ -103,8 +110,10 @@ LayoutContainer vPanel = new LayoutContainer(new RowLayout(Orientation.VERTICAL)); mainPanel.add(vPanel, new RowData(0.3, 1, new Margins(0, 5, 0, 0))); + vPanel.add(createEndpointSelector(), new RowData(-1, -1, new Margins(0, 0, 10, 0))); + dummyPanel = new LayoutContainer(new FitLayout()); - vPanel.add(dummyPanel, new RowData(1, 0.3, new Margins(0, 0, 10, 0))); + vPanel.add(dummyPanel, new RowData(1, 0.2, new Margins(0, 0, 10, 0))); infoPanel = new InfoPanel(); dummyPanel.add(infoPanel); @@ -112,7 +121,7 @@ interactivePanel = new InteractivePanel(); searchPanel = new SearchPanel(); - vPanel.add(searchPanel, new RowData(1, 0.7, new Margins(5, 0, 0, 0))); + vPanel.add(searchPanel, new RowData(1, 0.8, new Margins(5, 0, 0, 0))); vPanel = new LayoutContainer(new RowLayout(Orientation.VERTICAL)); mainPanel.add(vPanel, new RowData(0.7, 1, new Margins(0, 0, 0, 5))); @@ -152,6 +161,7 @@ } private void createHeaderPanel(){ + LayoutContainer c = new LayoutContainer(new RowLayout(Orientation.VERTICAL)); StringBuffer sb = new StringBuffer(); sb.append("<div id='demo-theme'></div><div id=demo-title>AutoSPARQL</div>"); @@ -163,13 +173,58 @@ final Image logo = new Image("dl-learner_logo.gif"); logo.setHeight("30px"); headerPanel.add(logo, "#demo-theme"); + + c.add(headerPanel); + c.add(createEndpointSelector()); BorderLayoutData data = new BorderLayoutData(LayoutRegion.NORTH, 33); data.setMargins(new Margins()); - viewport.add(headerPanel, data); + viewport.add(c, data); + Registry.register(HEADER_PANEL, headerPanel); } + private ComboBox<Endpoint> createEndpointSelector(){ + final ListStore<Endpoint> endpoints = new ListStore<Endpoint>(); + SPARQLService.Util.getInstance().getEndpoints(new AsyncCallback<List<Endpoint>>() { + + @Override + public void onFailure(Throwable caught) { + + } + + @Override + public void onSuccess(List<Endpoint> result) { + endpoints.add(result); + + } + + }); + + ComboBox<Endpoint> combo = new ComboBox<Endpoint>(); + combo.setEditable(false); + combo.setEmptyText("Select an endpoint..."); + combo.setDisplayField("label"); + combo.setWidth(150); + combo.setStore(endpoints); + combo.setTypeAhead(true); + combo.addSelectionChangedListener(new SelectionChangedListener<Endpoint>() { + @Override + public void selectionChanged(SelectionChangedEvent<Endpoint> se) { + SPARQLService.Util.getInstance().setEndpoint(se.getSelectedItem(), new AsyncCallback<Void>() { + @Override + public void onFailure(Throwable caught) { + } + @Override + public void onSuccess(Void result) { + } + }); + } + }); + + return combo; + } + private void createResultPanel(){ resultPanel = new ResultPanel(); viewport.add(resultPanel); 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-14 17:40:43 UTC (rev 2393) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SPARQLServiceImpl.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -8,6 +8,7 @@ import org.apache.log4j.Logger; import org.dllearner.autosparql.client.SPARQLService; import org.dllearner.autosparql.client.exception.SPARQLQueryException; +import org.dllearner.autosparql.client.model.Endpoint; import org.dllearner.autosparql.client.model.Example; import com.extjs.gxt.ui.client.data.BasePagingLoadResult; @@ -60,7 +61,7 @@ } private SparqlEndpoint getEndpoint(){ - SparqlEndpoint endpoint = SparqlEndpoint.getEndpointDBpediaAKSW();//(SparqlEndpoint) getSession().getAttribute(ENDPOINT); + SparqlEndpoint endpoint = (SparqlEndpoint) getSession().getAttribute(ENDPOINT); return endpoint; } @@ -149,5 +150,30 @@ return newQuery; } + + @Override + public void setEndpoint(Endpoint endpoint) { + switch(endpoint.getID()){ + case 0:setEndpoint(SparqlEndpoint.getEndpointDBpedia());break; + case 1:setEndpoint(SparqlEndpoint.getEndpointDBpediaLive());break; + case 2:setEndpoint(SparqlEndpoint.getEndpointDBpediaAKSW());break; + case 3:setEndpoint(SparqlEndpoint.getEndpointDBpediaHanne());break; + case 4:setEndpoint(SparqlEndpoint.getEndpointLinkedGeoData());break; + default:setEndpoint(SparqlEndpoint.getEndpointDBpedia());break; + } + } + + @Override + public List<Endpoint> getEndpoints() { + List<Endpoint> endpoints = new ArrayList<Endpoint>(); + + endpoints.add(new Endpoint(0, "DBpedia")); + endpoints.add(new Endpoint(1, "DBpedia_Live")); + endpoints.add(new Endpoint(2, "DBpedia@AKSW")); + endpoints.add(new Endpoint(3, "DBpedia@Hanne")); + endpoints.add(new Endpoint(4, "LinkedGeoData")); + + return endpoints; + } } Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SparqlEndpoint.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SparqlEndpoint.java 2010-10-14 17:40:43 UTC (rev 2393) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/server/SparqlEndpoint.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -173,6 +173,42 @@ defaultGraphURIs.add("http://dbpedia.org"); return new SparqlEndpoint(u, defaultGraphURIs, new LinkedList<String>()); } + + public static SparqlEndpoint getEndpointDBpediaHanne() { + URL u = null; + try { + u = new URL("http://hanne.aksw.org:8892/sparql"); + } catch (Exception e) { + e.printStackTrace(); + } + LinkedList<String> defaultGraphURIs=new LinkedList<String>(); + defaultGraphURIs.add("http://dbpedia.org"); + return new SparqlEndpoint(u, defaultGraphURIs, new LinkedList<String>()); + } + + public static SparqlEndpoint getEndpointDBpediaLive() { + URL u = null; + try { + u = new URL("http://dbpedia-live.openlinksw.com/sparql"); + } catch (Exception e) { + e.printStackTrace(); + } + LinkedList<String> defaultGraphURIs=new LinkedList<String>(); + defaultGraphURIs.add("http://dbpedia.org"); + return new SparqlEndpoint(u, defaultGraphURIs, new LinkedList<String>()); + } + + public static SparqlEndpoint getEndpointLinkedGeoData() { + URL u = null; + try { + u = new URL("http://linkedgeodata.org/sparql"); + } catch (Exception e) { + e.printStackTrace(); + } + LinkedList<String> defaultGraphURIs=new LinkedList<String>(); + //TODO defaultGraphURIs.add("http://geonames.org"); + return new SparqlEndpoint(u, defaultGraphURIs, new LinkedList<String>()); + } public static SparqlEndpoint getEndpointLOCALGeonames() { URL u = null; Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/BruteForceNBRStrategy.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/BruteForceNBRStrategy.java 2010-10-14 17:40:43 UTC (rev 2393) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/BruteForceNBRStrategy.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -19,9 +19,11 @@ */ package org.dllearner.sparqlquerygenerator.operations.nbr.strategy; +import java.util.Collections; import java.util.HashSet; import java.util.Set; +import org.apache.log4j.Logger; import org.dllearner.sparqlquerygenerator.datastructures.QueryTree; import org.dllearner.sparqlquerygenerator.datastructures.impl.QueryTreeImpl; @@ -31,11 +33,21 @@ * */ public class BruteForceNBRStrategy<N> implements NBRStrategy<N> { + + private static final Logger logger = Logger.getLogger(BruteForceNBRStrategy.class); @Override public QueryTree<N> computeNBR(QueryTree<N> posExampleTree, Set<QueryTree<N>> negExampleTrees) { + logger.info("Making NBR on"); + logger.info(posExampleTree.getStringRepresentation()); + logger.info("with negative examples"); + for(QueryTree<N> tree : negExampleTrees){ + logger.info(tree.getStringRepresentation()); + } + QueryTree<N> nbr = new QueryTreeImpl<N>(posExampleTree); if(subsumesTrees(posExampleTree, negExampleTrees)){ + logger.info("Warning: Positive example already covers all negative examples. Skipping NBR computation..."); return nbr; } @@ -70,7 +82,18 @@ @Override public Set<QueryTree<N>> computeNBRs(QueryTree<N> posExampleTree, Set<QueryTree<N>> negExampleTrees) { + logger.info("Making NBR on"); + logger.info(posExampleTree.getStringRepresentation()); + logger.info("with negative examples"); + for(QueryTree<N> tree : negExampleTrees){ + logger.info(tree.getStringRepresentation()); + } + if(subsumesTrees(posExampleTree, negExampleTrees)){ + logger.info("Warning: Positive example already covers all negative examples. Skipping NBR computation..."); + return Collections.singleton(posExampleTree); + } + Set<QueryTree<N>> nbrs = new HashSet<QueryTree<N>>(); compute(posExampleTree, negExampleTrees, nbrs); 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-14 17:40:43 UTC (rev 2393) +++ trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/DBPediaTestScript.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -33,6 +33,7 @@ import org.apache.log4j.SimpleLayout; import org.dllearner.sparqlquerygenerator.impl.SPARQLQueryGeneratorImpl; import org.dllearner.sparqlquerygenerator.operations.lgg.LGGGeneratorImpl; +import org.dllearner.sparqlquerygenerator.operations.nbr.strategy.BruteForceNBRStrategy; /** * @@ -55,8 +56,9 @@ logger.addAppender(consoleAppender); logger.addAppender(fileAppender); logger.setLevel(Level.INFO); - Logger.getLogger(SPARQLQueryGeneratorImpl.class).setLevel(Level.DEBUG); - Logger.getLogger(LGGGeneratorImpl.class).setLevel(Level.OFF); + Logger.getLogger(SPARQLQueryGeneratorImpl.class).setLevel(Level.INFO); + Logger.getLogger(LGGGeneratorImpl.class).setLevel(Level.INFO); + Logger.getLogger(BruteForceNBRStrategy.class).setLevel(Level.INFO); SPARQLQueryGenerator gen = new SPARQLQueryGeneratorImpl(DBPEDIA_ENDPOINT_URL); 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-14 17:40:43 UTC (rev 2393) +++ trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/ExamplesList.txt 2010-10-15 10:51:31 UTC (rev 2394) @@ -1,2 +1,3 @@ -+http://dbpedia.org/resource/Harley_Race --http://dbpedia.org/resource/Barack_Obama \ No newline at end of file ++http://dbpedia.org/resource/University_of_Leipzig ++http://dbpedia.org/resource/Leipzig_school_%28sociology%29 +-http://dbpedia.org/resource/Ackermann%E2%80%93Teubner_Memorial_Award \ No newline at end of file Modified: trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/NBRTest.java =================================================================== --- trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/NBRTest.java 2010-10-14 17:40:43 UTC (rev 2393) +++ trunk/sparql-query-generator/src/test/java/org/dllearner/sparqlquerygenerator/NBRTest.java 2010-10-15 10:51:31 UTC (rev 2394) @@ -51,7 +51,7 @@ int cnt = 1; for(QueryTree<String> tree : posExampleTrees){ System.out.println("POSITIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -59,14 +59,14 @@ QueryTree<String> lgg = lggGenerator.getLGG(posExampleTrees); System.out.println("LGG"); - lgg.dump(); + System.out.println(lgg.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt = 1; for(QueryTree<String> tree : negExampleTrees){ System.out.println("NEGATIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -74,7 +74,7 @@ QueryTree<String> nbr = nbrGenerator.getNBR(lgg, negExampleTrees); System.out.println("NBR"); - nbr.dump(); + System.out.println(nbr.getStringRepresentation()); } @@ -89,7 +89,7 @@ int cnt = 1; for(QueryTree<String> tree : posExampleTrees){ System.out.println("POSITIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -97,14 +97,14 @@ QueryTree<String> lgg = lggGenerator.getLGG(posExampleTrees); System.out.println("LGG"); - lgg.dump(); + System.out.println(lgg.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt = 1; for(QueryTree<String> tree : negExampleTrees){ System.out.println("NEGATIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -113,7 +113,7 @@ cnt = 1; for(QueryTree<String> tree : nbrs){ System.out.println("NBR " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -130,7 +130,7 @@ int cnt = 1; for(QueryTree<String> tree : posExampleTrees){ System.out.println("POSITIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -138,14 +138,14 @@ QueryTree<String> lgg = lggGenerator.getLGG(posExampleTrees); System.out.println("LGG"); - lgg.dump(); + System.out.println(lgg.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt = 1; for(QueryTree<String> tree : negExampleTrees){ System.out.println("NEGATIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -153,7 +153,7 @@ QueryTree<String> nbr = nbrGenerator.getNBR(lgg, negExampleTrees); System.out.println("NBR"); - nbr.dump(); + System.out.println(nbr.getStringRepresentation()); } @Test @@ -167,7 +167,7 @@ int cnt = 1; for(QueryTree<String> tree : posExampleTrees){ System.out.println("POSITIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -175,14 +175,14 @@ QueryTree<String> lgg = lggGenerator.getLGG(posExampleTrees); System.out.println("LGG"); - lgg.dump(); + System.out.println(lgg.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt = 1; for(QueryTree<String> tree : negExampleTrees){ System.out.println("NEGATIVE EXAMPLE TREE " + cnt); - tree.dump(); + System.out.println(tree.getStringRepresentation()); System.out.println("-----------------------------------------------"); cnt++; } @@ -190,7 +190,7 @@ QueryTree<String> nbr = nbrGenerator.getNBR(lgg, negExampleTrees); System.out.println("NBR"); -// nbr.dump(); + System.out.println(nbr.getStringRepresentation()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |