From: <lor...@us...> - 2010-07-27 11:45:02
|
Revision: 2219 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2219&view=rev Author: lorenz_b Date: 2010-07-27 11:44:55 +0000 (Tue, 27 Jul 2010) Log Message: ----------- Some changes for release. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2010-07-27 07:26:57 UTC (rev 2218) +++ trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2010-07-27 11:44:55 UTC (rev 2219) @@ -115,15 +115,15 @@ la.getConfigurator().setMaxNrOfResults(maxNrOfResults); } catch (LearningProblemUnsupportedException e1) { - // TODO Auto-generated catch block e1.printStackTrace(); } try { la.init(); } catch (ComponentInitException e) { - // TODO Auto-generated catch block e.printStackTrace(); + } catch (Exception e){ + e.printStackTrace(); } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java 2010-07-27 07:26:57 UTC (rev 2218) +++ trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java 2010-07-27 11:44:55 UTC (rev 2219) @@ -42,9 +42,7 @@ import org.semanticweb.owlapi.model.OWLPropertyDomainAxiom; import org.semanticweb.owlapi.reasoner.OWLReasoner; -import com.clarkparsia.owlapi.explanation.PelletExplanation; import com.clarkparsia.owlapiv3.XSD; -import com.clarkparsia.pellet.owlapiv3.PelletReasoner; import com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory; import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QueryExecution; @@ -69,9 +67,10 @@ private static Logger logger = Logger.getRootLogger(); - private static String DBPEDIA_PREDICATE_FILTER = "!regex(?predicate, \"http://dbpedia.org/property\")"; - private static String DBPEDIA_SUBJECT_FILTER = "!regex(?subject, \"http://dbpedia.org/property\")"; - private static String OWL_THING_OBJECT_FILTER = "!regex(?object, \"http://www.w3.org/2002/07/owl#Thing\")"; + private static final String DBPEDIA_PREDICATE_FILTER = "!regex(?predicate, \"http://dbpedia.org/property\")"; + private static final String DBPEDIA_SUBJECT_FILTER = "!regex(?subject, \"http://dbpedia.org/property\")"; + private static final String OWL_OBJECT_FILTER = "!regex(?object, \"http://www.w3.org/2002/07/owl#\")"; + private static final String OWL_SUBJECT_FILTER = "!regex(?subject, \"http://www.w3.org/2002/07/owl#\")"; // private static final String ENDPOINT_URL = "http://localhost:8890/sparql"; // private static String DEFAULT_GRAPH_URI = "http://opencyc2.org"; //(version 2.0) @@ -92,10 +91,10 @@ private boolean useLinkedData; private boolean useCache; + private volatile boolean stop; + private Set<String> linkedDataNamespaces; - private PelletExplanation expGen; - private SparqlEndpoint endpoint; private Cache cache; @@ -104,6 +103,8 @@ private Monitor queryMonitor = JamonMonitorLogger.getTimeMonitor(ExtractionAlgorithm.class, "Query monitor"); private Monitor reasonerMonitor = JamonMonitorLogger.getTimeMonitor(ExtractionAlgorithm.class, "Reasoning monitor"); + private SparqlQuery query; + public IncrementalInconsistencyFinder() throws OWLOntologyCreationException, IOException{ SimpleLayout layout = new SimpleLayout(); @@ -138,6 +139,8 @@ mon.setMessage("Searching..."); + stop = false; + manager = OWLManager.createOWLOntologyManager(); try { ontology = manager.createOntology(IRI.create(defaultGraphURI + "/" + "fragment")); @@ -146,7 +149,6 @@ } factory = manager.getOWLDataFactory(); reasoner = PelletReasonerFactory.getInstance().createNonBufferingReasoner(ontology); - expGen = new PelletExplanation((PelletReasoner)reasoner); consistent = true; @@ -573,10 +575,6 @@ return ontology; } - public Set<OWLAxiom> getExplanation(){ - return expGen.getInconsistencyExplanation(); - } - public void setUseLinkedData(boolean useLinkedData){ this.useLinkedData = useLinkedData; } @@ -589,6 +587,17 @@ this.linkedDataNamespaces = namespaces; } + public void dispose(){ + reasoner.dispose(); + } + + public void stop(){ + stop = true; + if(query != null){ + query.stop(); + } + } + private boolean canCountAxioms() { boolean canCount = true; QueryEngineHTTP sparqlQueryExec = new QueryEngineHTTP(endpointURI, @@ -602,7 +611,6 @@ return canCount; } - private int getAxiomCountForPredicate(Property predicate){ StringBuilder sb = new StringBuilder(); sb.append("SELECT COUNT(*) WHERE {"); @@ -612,9 +620,13 @@ logger.info(sb); - QueryEngineHTTP sparqlQueryExec = new QueryEngineHTTP(endpointURI, sb.toString()); - sparqlQueryExec.addDefaultGraph(defaultGraphURI); - ResultSet sparqlResults = sparqlQueryExec.execSelect(); + query = new SparqlQuery(sb.toString(), endpoint); + ResultSetRewindable sparqlResults; + if(useCache){ + sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); + } else { + sparqlResults = query.send(); + } QuerySolution solution = sparqlResults.nextSolution(); return solution.getLiteral(solution.varNames().next().toString()).getInt(); @@ -630,9 +642,13 @@ logger.info(sb); - QueryEngineHTTP sparqlQueryExec = new QueryEngineHTTP(endpointURI, sb.toString()); - sparqlQueryExec.addDefaultGraph(defaultGraphURI); - ResultSet sparqlResults = sparqlQueryExec.execSelect(); + query = new SparqlQuery(sb.toString(), endpoint); + ResultSetRewindable sparqlResults; + if(useCache){ + sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); + } else { + sparqlResults = query.send(); + } QuerySolution solution = sparqlResults.nextSolution(); return solution.getLiteral(solution.varNames().next().toString()).getInt(); @@ -648,12 +664,13 @@ sb.append("SELECT * WHERE {"); sb.append("?subject ").append("<").append(property).append(">").append(" ?object."); sb.append("FILTER ").append("(").append(DBPEDIA_SUBJECT_FILTER).append(")"); + sb.append("FILTER ").append("(").append(OWL_SUBJECT_FILTER).append(")"); sb.append("}"); sb.append(" ORDER BY ").append("?subject"); sb.append(" LIMIT ").append(limit); sb.append(" OFFSET ").append(offset); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -706,12 +723,13 @@ sb.append("SELECT * WHERE {"); sb.append("?subject ").append("<").append(property).append(">").append(" ?object."); sb.append("FILTER ").append("(").append(DBPEDIA_SUBJECT_FILTER).append(")"); + sb.append("FILTER ").append("(").append(OWL_SUBJECT_FILTER).append(")"); sb.append("}"); sb.append(" ORDER BY ").append("?subject"); sb.append(" LIMIT ").append(limit); sb.append(" OFFSET ").append(offset); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -809,7 +827,7 @@ sb.append(" LIMIT ").append(limit); sb.append(" OFFSET ").append(offset); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -917,13 +935,12 @@ sb.append("ASK {"); sb.append("<").append(propertyURI).append("> ").append("<").append(RDF.type).append("> ").append("<").append(OWL.ObjectProperty).append(">"); sb.append("}"); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); if(useCache){ if(cache.executeSparqlAskQuery(query)){ logger.info("YES"); return true; } - } else { if(query.sendAsk()){ logger.info("YES"); @@ -942,7 +959,6 @@ logger.info("NO"); return false; } - } else { if(query.sendAsk()){ logger.info("NO"); @@ -987,7 +1003,7 @@ sb.append("}"); sb.append(" LIMIT ").append(limit); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -1025,7 +1041,7 @@ sb.append("}"); sb.append(" LIMIT ").append(limit); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -1067,7 +1083,7 @@ sb.append("}"); sb.append(" LIMIT ").append(limit); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -1132,7 +1148,7 @@ sb.append(" ORDER BY ").append("?subject"); sb.append(" LIMIT ").append(limit); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -1170,7 +1186,7 @@ sb.append(" HAVING COUNT(?o)>1"); sb.append(" LIMIT ").append(limit); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -1279,11 +1295,12 @@ StringBuilder sb = new StringBuilder(); sb.append("SELECT * WHERE {"); sb.append("<").append(ind.toStringID()).append("> ").append("?predicate").append(" ?object."); - sb.append("FILTER ").append("(").append(DBPEDIA_PREDICATE_FILTER).append(" && ").append(OWL_THING_OBJECT_FILTER).append(")"); + sb.append("FILTER ").append("(").append(DBPEDIA_PREDICATE_FILTER).append(")"); +// sb.append("FILTER ").append("(").append(OWL_OBJECT_FILTER).append(")"); sb.append("}"); sb.append(" LIMIT ").append(limit); - SparqlQuery query = new SparqlQuery(sb.toString(), endpoint); + query = new SparqlQuery(sb.toString(), endpoint); ResultSetRewindable sparqlResults; if(useCache){ sparqlResults = cache.executeSparqlQuery(new SparqlQuery(sb.toString(), endpoint)); @@ -1478,7 +1495,7 @@ // PelletExplanation.setup(); IncrementalInconsistencyFinder incFinder = new IncrementalInconsistencyFinder(); List<String> endpoints = new SparqlEndpointFinder().find(); - for(int i = 8; i < endpoints.size(); i++){ + for(int i = 1; i < endpoints.size(); i++){ try{ incFinder.run(endpoints.get(i), ""); } catch (HTTPException e){ Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java 2010-07-27 07:26:57 UTC (rev 2218) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java 2010-07-27 11:44:55 UTC (rev 2219) @@ -78,7 +78,7 @@ import com.clarkparsia.owlapi.explanation.PelletExplanation; -public class DebugFromSparqlDialog extends JDialog implements ActionListener, PropertyChangeListener, DocumentListener, SPARQLProgressMonitor, MemoryWarningListener { +public class DebugFromSparqlDialog extends JDialog implements ActionListener, PropertyChangeListener, DocumentListener, SPARQLProgressMonitor, MemoryWarningListener{ /** * @@ -100,7 +100,7 @@ private JButton searchStopButton; private JLabel messageLabel; - private String progressMessage; +// private String progressMessage; private int progress; private boolean canceled; private JProgressBar progressBar; @@ -447,6 +447,7 @@ private void stopSearching() { messageLabel.setText("Stopping ..."); canceled = true; + inc.stop(); setCursor(Cursor.getDefaultCursor()); // extractTask.cancel(true); } @@ -625,6 +626,10 @@ private void closeDialog(){ setVisible(false); + MemoryWarningSystem.getInstance().removeListener(this); + if(inc != null){ + inc.dispose(); + } dispose(); } @@ -672,13 +677,13 @@ @Override public void setMessage(String message) { - this.progressMessage = message; - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { -// messageLabel.setText(progressMessage); - } - }); +// this.progressMessage = message; +// SwingUtilities.invokeLater(new Runnable() { +// @Override +// public void run() { +//// messageLabel.setText(progressMessage); +// } +// }); } @Override @@ -818,11 +823,19 @@ message.append("Memory usage low! \n\n"); message.append("Currently ").append((int)(percentageUsed * 100)).append(" % of the assigned memory is used.\n"); message.append("It is recommend to stop the task because otherwise the programm might crash."); - JOptionPane.showMessageDialog(this, message, "Memory usage low!", JOptionPane.WARNING_MESSAGE); + final String m = message.toString(); + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + JOptionPane.showMessageDialog(DebugFromSparqlDialog.this, m, "Memory usage low!", JOptionPane.WARNING_MESSAGE); + } + }); + } - + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2010-07-27 07:26:57 UTC (rev 2218) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2010-07-27 11:44:55 UTC (rev 2219) @@ -18,7 +18,6 @@ import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URI; -import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.Collections; @@ -126,7 +125,7 @@ //create main panel createSparqlPanel(); //add predefined endpoints -// addPredefinedEndpoints(); + addPredefinedEndpoints(); positionErrorDialog(owner); } @@ -278,20 +277,29 @@ getContentPane().add(panel, BorderLayout.CENTER); } - @SuppressWarnings("unused") - private void addPredefinedEndpoints(){ + private void addPredefinedEndpoints() { + // endpointToDefaultGraph = new HashMap<URI, List<String>>(); + // for(SparqlEndpoint endpoint : SparqlEndpoint.listEndpoints()){ + // try { + // endpointToDefaultGraph.put(endpoint.getURL().toURI(), + // endpoint.getDefaultGraphURIs()); + // } catch (URISyntaxException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } + // } + // for(URI url : endpointToDefaultGraph.keySet()){ + // comboBox.addItem(url.toString()); + // } endpointToDefaultGraph = new HashMap<URI, List<String>>(); - for(SparqlEndpoint endpoint : SparqlEndpoint.listEndpoints()){ - try { - endpointToDefaultGraph.put(endpoint.getURL().toURI(), endpoint.getDefaultGraphURIs()); - } catch (URISyntaxException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - for(URI url : endpointToDefaultGraph.keySet()){ + endpointToDefaultGraph.put( + URI.create("http://dbpedia-live.openlinksw.com/sparql/"), + Collections.singletonList("http://dbpedia.org")); + // endpointToDefaultGraph.put(URI.create("http://localhost:8890/sparql"), + // Collections.singletonList("http://opencyc2.org")); + for (URI url : endpointToDefaultGraph.keySet()) { comboBox.addItem(url.toString()); - } + } } private void positionErrorDialog(JFrame owner) { @@ -355,11 +363,11 @@ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setLocation(screenSize.width / 2 - getWidth() / 2, screenSize.height / 2 - getHeight() / 2); - setVisible(true); + } }); - + setVisible(true); return returnCode; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java 2010-07-27 07:26:57 UTC (rev 2218) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java 2010-07-27 11:44:55 UTC (rev 2219) @@ -60,7 +60,10 @@ "<p style=\"max-width:400px;\">ORE uses a wizard-style concept. On the left, you can see different steps in the wizard, where the current step is in bold. " + "Each step contains an explanation of it in the main window. The wizard may omit steps if they are not necessary, e.g. " + "if you load a consistent ontology, then the \"Debugging\" dialogue is skipped.</p>" + - "<p>Please read the <a href=\"http://dl-learner.org/wiki/ORE\">the ORE wiki page</a> and view the <a href=\"http://dl-learner.org/files/screencast/ore/0.1/ore.htm\">screencast</a> to get started.</p></html>"; + "<p>Please read the <a href=\"http://dl-learner.org/wiki/ORE\">the ORE wiki page</a> and view the screencasts " + + "[<a href=\"http://dl-learner.org/files/screencast/ore/0.2/ore.htm\">1</a>, " + + "<a href=\"http://dl-learner.org/files/screencast/ore/0.2/ore2.htm\">2</a>] " + + "to get started.</p></html>"; public IntroductionPanel() { createUI(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |