From: <lor...@us...> - 2010-07-21 17:27:35
|
Revision: 2213 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2213&view=rev Author: lorenz_b Date: 2010-07-21 17:27:28 +0000 (Wed, 21 Jul 2010) Log Message: ----------- Added main method to IncrementalInconsistencyFinder with 2 arguments SPARQL_ENDPOINT and DEFAULT_GRAPH_URI. Added progress monitor class with no output. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/sparql/SilentSPARQLProgressMonitor.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java 2010-07-21 16:44:12 UTC (rev 2212) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java 2010-07-21 17:27:28 UTC (rev 2213) @@ -158,7 +158,7 @@ } public boolean isSourceOWLAxiom(OWLAxiom ax){ - for(OWLOntology ont : reasoner.getLoadedOWLAPIOntologies()){System.out.println(ont.getLogicalAxiomCount()); + for(OWLOntology ont : reasoner.getLoadedOWLAPIOntologies()){ if(ont.containsAxiom(ax)){ return true; } @@ -502,7 +502,6 @@ } allIndividuals.remove(ind); - System.out.println(); return allIndividuals; } @@ -526,7 +525,6 @@ for(OWLClassExpression domain : domains){ if(complements.contains(OWLAPIConverter.convertClass(domain.asOWLClass()))){ - System.out.println(domain); return false; } } 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-21 16:44:12 UTC (rev 2212) +++ trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java 2010-07-21 17:27:28 UTC (rev 2213) @@ -82,7 +82,7 @@ private String endpointURI; private String defaultGraphURI; - private SPARQLProgressMonitor mon; + private SPARQLProgressMonitor mon = new SilentSPARQLProgressMonitor(); private boolean consistent = true; private boolean useLinkedData; @@ -107,7 +107,7 @@ ConsoleAppender consoleAppender = new ConsoleAppender(layout); logger.removeAllAppenders(); logger.addAppender(consoleAppender); - logger.setLevel(Level.OFF); + logger.setLevel(Level.INFO); PelletOptions.USE_COMPLETION_QUEUE = true; PelletOptions.USE_INCREMENTAL_CONSISTENCY = true; @@ -1423,16 +1423,12 @@ public static void main(String[] args) throws OWLOntologyCreationException, IOException{ PelletExplanation.setup(); IncrementalInconsistencyFinder incFinder = new IncrementalInconsistencyFinder(); -// incFinder.checkForUnsatisfiableClasses(ENDPOINT_URL); -// incFinder.checkForInconsistency(ENDPOINT_URL); - incFinder.run(ENDPOINT_URL, DEFAULT_GRAPH_URI); + if(args.length == 1){ + incFinder.run(args[0], ""); + } else if(args.length == 2){ + incFinder.run(args[0], args[1]); + } -// String queryString = "CONSTRUCT { ?x <" + RDFS.subClassOf + "> ?y } WHERE { ?x <" + RDFS.subClassOf + "> ?y } ORDER BY ?x LIMIT 100 "; -// Query query = QueryFactory.create(queryString) ; -// QueryExecution qexec = QueryExecutionFactory.sparqlService(ENDPOINT_URL, query); -// Model resultModel = qexec.execConstruct() ; -// qexec.close() ; -// resultModel.write(System.out); } Added: trunk/src/dl-learner/org/dllearner/tools/ore/sparql/SilentSPARQLProgressMonitor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/sparql/SilentSPARQLProgressMonitor.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/sparql/SilentSPARQLProgressMonitor.java 2010-07-21 17:27:28 UTC (rev 2213) @@ -0,0 +1,57 @@ +package org.dllearner.tools.ore.sparql; + +import java.util.Set; + +import org.semanticweb.owlapi.model.OWLAxiom; + +public class SilentSPARQLProgressMonitor implements SPARQLProgressMonitor{ + + @Override + public void inconsistencyFound(Set<OWLAxiom> explanation) { + // TODO Auto-generated method stub + + } + + @Override + public boolean isCancelled() { + // TODO Auto-generated method stub + return false; + } + + @Override + public void setFinished() { + // TODO Auto-generated method stub + + } + + @Override + public void setIndeterminate(boolean b) { + // TODO Auto-generated method stub + + } + + @Override + public void setMessage(String message) { + // TODO Auto-generated method stub + + } + + @Override + public void setProgress(long progress) { + // TODO Auto-generated method stub + + } + + @Override + public void setSize(long size) { + // TODO Auto-generated method stub + + } + + @Override + public void setStarted() { + // TODO Auto-generated method stub + + } + +} 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-21 16:44:12 UTC (rev 2212) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java 2010-07-21 17:27:28 UTC (rev 2213) @@ -349,12 +349,10 @@ */ private static final long serialVersionUID = 6590889767286900162L; - protected void handleAdd() { addURI(); } - protected void handleDelete() { deleteSelectedBookmark(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2010-07-26 13:23:21
|
Revision: 2217 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2217&view=rev Author: lorenz_b Date: 2010-07-26 13:23:14 +0000 (Mon, 26 Jul 2010) Log Message: ----------- Some changes in SPARQL debug UI. Implemented new class MemoryWarningSystem to check if system is running out of memory. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/MemoryWarningSystem.java Added: trunk/src/dl-learner/org/dllearner/tools/ore/MemoryWarningSystem.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/MemoryWarningSystem.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/MemoryWarningSystem.java 2010-07-26 13:23:14 UTC (rev 2217) @@ -0,0 +1,83 @@ +package org.dllearner.tools.ore; + +import javax.management.*; +import java.lang.management.*; +import java.util.*; + +/** + * This memory warning system will call the listener when we + * exceed the percentage of available memory specified. There + * should only be one instance of this object created, since the + * usage threshold can only be set to one number. + */ +public class MemoryWarningSystem { + private final Collection<MemoryWarningListener> listeners = new ArrayList<MemoryWarningListener>(); + + private static final MemoryPoolMXBean tenuredGenPool = findTenuredGenPool(); + + private static MemoryWarningSystem instance; + + public interface MemoryWarningListener { + public void memoryUsageLow(long usedMemory, long maxMemory); + } + + public static synchronized MemoryWarningSystem getInstance() { + if (instance == null) { + instance = new MemoryWarningSystem(); + } + return instance; + } + + private MemoryWarningSystem() { + MemoryMXBean mbean = ManagementFactory.getMemoryMXBean(); + + NotificationEmitter emitter = (NotificationEmitter) mbean; + emitter.addNotificationListener(new NotificationListener() { + public void handleNotification(Notification n, Object hb) { + if (n.getType().equals( + MemoryNotificationInfo.MEMORY_THRESHOLD_EXCEEDED)) { + long maxMemory = tenuredGenPool.getUsage().getMax(); + long usedMemory = tenuredGenPool.getUsage().getUsed(); + fireMemoryUsageLow(maxMemory, usedMemory); + } + } + }, null, null); + } + + public boolean addListener(MemoryWarningListener listener) { + return listeners.add(listener); + } + + public boolean removeListener(MemoryWarningListener listener) { + return listeners.remove(listener); + } + + private void fireMemoryUsageLow(long maxMemory, long usedMemory){ + for (MemoryWarningListener listener : listeners) { + listener.memoryUsageLow(usedMemory, maxMemory); + } + } + + public static void setPercentageUsageThreshold(double percentage) { + if (percentage <= 0.0 || percentage > 1.0) { + throw new IllegalArgumentException("Percentage not in range"); + } + long maxMemory = tenuredGenPool.getUsage().getMax(); + long warningThreshold = (long) (maxMemory * percentage); + tenuredGenPool.setUsageThreshold(warningThreshold); + } + + /** + * Tenured Space Pool can be determined by it being of type + * HEAP and by it being possible to set the usage threshold. + */ + private static MemoryPoolMXBean findTenuredGenPool() { + for (MemoryPoolMXBean pool : ManagementFactory.getMemoryPoolMXBeans()) { + if (pool.getType() == MemoryType.HEAP && pool.isUsageThresholdSupported()) { + return pool; + } + } + throw new AssertionError("Could not find tenured space"); + } +} + Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java 2010-07-26 11:27:07 UTC (rev 2216) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java 2010-07-26 13:23:14 UTC (rev 2217) @@ -91,7 +91,7 @@ private boolean consistentOntology; - public OREManager(){ + private OREManager(){ cm = ComponentManager.getInstance(); listeners = new ArrayList<OREManagerListener>(); manchesterSyntaxRenderingCache = new ManchesterSyntaxRenderingCache(this); 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-26 11:27:07 UTC (rev 2216) +++ trunk/src/dl-learner/org/dllearner/tools/ore/sparql/IncrementalInconsistencyFinder.java 2010-07-26 13:23:14 UTC (rev 2217) @@ -5,8 +5,11 @@ import java.net.URL; import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; +import javax.xml.ws.http.HTTPException; + import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -14,6 +17,7 @@ import org.dllearner.kb.extraction.ExtractionAlgorithm; import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.kb.sparql.SparqlQuery; +import org.dllearner.scripts.SparqlEndpointFinder; import org.dllearner.utilities.JamonMonitorLogger; import org.mindswap.pellet.PelletOptions; import org.semanticweb.owlapi.apibinding.OWLManager; @@ -53,6 +57,8 @@ import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP; +import com.hp.hpl.jena.sparql.engine.http.QueryExceptionHTTP; +import com.hp.hpl.jena.sparql.resultset.ResultSetException; import com.hp.hpl.jena.sparql.resultset.ResultSetRewindable; import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.RDF; @@ -63,8 +69,6 @@ private static Logger logger = Logger.getRootLogger(); - private static final String ENDPOINT_URL = "http://dbpedia-live.openlinksw.com/sparql"; - private static String DEFAULT_GRAPH_URI = "http://dbpedia.org"; 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\")"; @@ -102,12 +106,11 @@ public IncrementalInconsistencyFinder() throws OWLOntologyCreationException, IOException{ - SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); logger.removeAllAppenders(); logger.addAppender(consoleAppender); - logger.setLevel(Level.INFO); + logger.setLevel(Level.OFF); PelletOptions.USE_COMPLETION_QUEUE = true; PelletOptions.USE_INCREMENTAL_CONSISTENCY = true; @@ -152,27 +155,51 @@ queryMonitor.reset(); overallMonitor.start(); - int disjointWithCount = getAxiomCountForPredicate(OWL.disjointWith); - int equivalentClassCount = getAxiomCountForPredicate(OWL.equivalentClass); - int subClassOfCount = getAxiomCountForPredicate(RDFS.subClassOf); + int disjointWithCount = Integer.MAX_VALUE; + int functionalCount = Integer.MAX_VALUE; + int inverseFunctionalCount = Integer.MAX_VALUE; + int equivalentClassCount = Integer.MAX_VALUE; + int subClassOfCount = Integer.MAX_VALUE; + int domainCount = Integer.MAX_VALUE; + int rangeCount = Integer.MAX_VALUE; + int subPropertyOfCount = Integer.MAX_VALUE; + int equivalentPropertyCount = Integer.MAX_VALUE; + int inverseOfCount = Integer.MAX_VALUE; + int transitiveCount = Integer.MAX_VALUE; + int classAssertionCount = Integer.MAX_VALUE; + int overallAxiomCount = Integer.MAX_VALUE; - int domainCount = getAxiomCountForPredicate(RDFS.domain); - int rangeCount = getAxiomCountForPredicate(RDFS.range); + if(canCountAxioms()){ + disjointWithCount = getAxiomCountForPredicate(OWL.disjointWith); + functionalCount = getAxiomCountForObject(OWL.FunctionalProperty); + inverseFunctionalCount = getAxiomCountForObject(OWL.InverseFunctionalProperty); + + if((disjointWithCount + functionalCount + inverseFunctionalCount) == 0){ + return; + } + + equivalentClassCount = getAxiomCountForPredicate(OWL.equivalentClass); + subClassOfCount = getAxiomCountForPredicate(RDFS.subClassOf); + + domainCount = getAxiomCountForPredicate(RDFS.domain); + rangeCount = getAxiomCountForPredicate(RDFS.range); + + subPropertyOfCount = getAxiomCountForPredicate(RDFS.subPropertyOf); + equivalentPropertyCount = getAxiomCountForPredicate(OWL.equivalentProperty); + inverseOfCount = getAxiomCountForPredicate(OWL.inverseOf); + + transitiveCount = getAxiomCountForObject(OWL.TransitiveProperty); + + classAssertionCount = getAxiomCountForPredicate(RDF.type); + + overallAxiomCount = disjointWithCount + equivalentClassCount + subClassOfCount + domainCount + rangeCount + + subPropertyOfCount + equivalentPropertyCount + inverseOfCount + functionalCount + + inverseFunctionalCount + transitiveCount + classAssertionCount; + + mon.setSize(overallAxiomCount); + } - int subPropertyOfCount = getAxiomCountForPredicate(RDFS.subPropertyOf); - int equivalentPropertyCount = getAxiomCountForPredicate(OWL.equivalentProperty); - int inverseOfCount = getAxiomCountForPredicate(OWL.inverseOf); - int functionalCount = getAxiomCountForObject(OWL.FunctionalProperty); - int inverseFunctionalCount = getAxiomCountForObject(OWL.InverseFunctionalProperty); - int transitiveCount = getAxiomCountForObject(OWL.TransitiveProperty); - int classAssertionCount = getAxiomCountForPredicate(RDF.type); - - mon.setSize(disjointWithCount + equivalentClassCount + subClassOfCount + domainCount + rangeCount - + subPropertyOfCount + equivalentPropertyCount + inverseOfCount + functionalCount - + inverseFunctionalCount + transitiveCount + classAssertionCount); - - Set<OWLClass> visitedClasses = new HashSet<OWLClass>(); Set<OWLNamedIndividual> visitedIndividuals = new HashSet<OWLNamedIndividual>(); Set<OWLObject> visitedLinkedDataResources = new HashSet<OWLObject>(); @@ -198,6 +225,23 @@ if(mon.isCancelled()){ break; } + if(ontology.getAxiomCount(AxiomType.FUNCTIONAL_OBJECT_PROPERTY) + ontology.getAxiomCount(AxiomType.FUNCTIONAL_DATA_PROPERTY) < functionalCount){ + manager.addAxioms(ontology, retrievePropertyCharacteristicAxioms(OWL.FunctionalProperty, AXIOM_COUNT, OFFSET * i)); + } + mon.setProgress(ontology.getLogicalAxiomCount()); + if(mon.isCancelled()){ + break; + } + if(ontology.getAxiomCount(AxiomType.INVERSE_FUNCTIONAL_OBJECT_PROPERTY) < inverseFunctionalCount){ + manager.addAxioms(ontology, retrievePropertyCharacteristicAxioms(OWL.InverseFunctionalProperty, AXIOM_COUNT, OFFSET * i)); + } + mon.setProgress(ontology.getLogicalAxiomCount()); + if(mon.isCancelled()){ + break; + } + if(ontology.getLogicalAxiomCount() == 0){ + return; + } if(ontology.getAxiomCount(AxiomType.EQUIVALENT_CLASSES) < equivalentClassCount){ manager.addAxioms(ontology, retrieveClassExpressionsAxioms(OWL.equivalentClass, AXIOM_COUNT, OFFSET * i)); } @@ -251,20 +295,6 @@ if(mon.isCancelled()){ break; } - if(ontology.getAxiomCount(AxiomType.FUNCTIONAL_OBJECT_PROPERTY) + ontology.getAxiomCount(AxiomType.FUNCTIONAL_DATA_PROPERTY) < functionalCount){ - manager.addAxioms(ontology, retrievePropertyCharacteristicAxioms(OWL.FunctionalProperty, AXIOM_COUNT, OFFSET * i)); - } - mon.setProgress(ontology.getLogicalAxiomCount()); - if(mon.isCancelled()){ - break; - } - if(ontology.getAxiomCount(AxiomType.INVERSE_FUNCTIONAL_OBJECT_PROPERTY) < inverseFunctionalCount){ - manager.addAxioms(ontology, retrievePropertyCharacteristicAxioms(OWL.InverseFunctionalProperty, AXIOM_COUNT, OFFSET * i)); - } - mon.setProgress(ontology.getLogicalAxiomCount()); - if(mon.isCancelled()){ - break; - } if(ontology.getAxiomCount(AxiomType.TRANSITIVE_OBJECT_PROPERTY) < transitiveCount){ manager.addAxioms(ontology, retrievePropertyCharacteristicAxioms(OWL.TransitiveProperty, AXIOM_COUNT, OFFSET * i)); } @@ -559,7 +589,20 @@ this.linkedDataNamespaces = namespaces; } + private boolean canCountAxioms() { + boolean canCount = true; + QueryEngineHTTP sparqlQueryExec = new QueryEngineHTTP(endpointURI, + "SELECT COUNT(*) WHERE {?s <http://test> ?o}"); + sparqlQueryExec.addDefaultGraph(defaultGraphURI); + try { + sparqlQueryExec.execSelect(); + } catch (QueryExceptionHTTP e) { + canCount = false; + } + return canCount; + } + private int getAxiomCountForPredicate(Property predicate){ StringBuilder sb = new StringBuilder(); sb.append("SELECT COUNT(*) WHERE {"); @@ -567,11 +610,15 @@ // sb.append("FILTER ").append("(").append(DBPEDIA_SUBJECT_FILTER).append(")"); sb.append("}"); + logger.info(sb); + QueryEngineHTTP sparqlQueryExec = new QueryEngineHTTP(endpointURI, sb.toString()); sparqlQueryExec.addDefaultGraph(defaultGraphURI); ResultSet sparqlResults = sparqlQueryExec.execSelect(); - return sparqlResults.nextSolution().getLiteral("?callret-0").getInt(); + QuerySolution solution = sparqlResults.nextSolution(); + return solution.getLiteral(solution.varNames().next().toString()).getInt(); +// return sparqlResults.nextSolution().getLiteral("?callret-0").getInt(); } private int getAxiomCountForObject(Resource resource){ @@ -581,11 +628,15 @@ sb.append("FILTER ").append("(").append(DBPEDIA_SUBJECT_FILTER).append(")"); sb.append("}"); + logger.info(sb); + QueryEngineHTTP sparqlQueryExec = new QueryEngineHTTP(endpointURI, sb.toString()); sparqlQueryExec.addDefaultGraph(defaultGraphURI); ResultSet sparqlResults = sparqlQueryExec.execSelect(); - return sparqlResults.nextSolution().getLiteral("?callret-0").getInt(); + QuerySolution solution = sparqlResults.nextSolution(); + return solution.getLiteral(solution.varNames().next().toString()).getInt(); +// return sparqlResults.nextSolution().getLiteral("?callret-0").getInt(); } private Set<OWLAxiom> retrieveClassExpressionsAxioms(Property property, int limit, int offset){ @@ -609,7 +660,6 @@ } else { sparqlResults = query.send(); } - Set<OWLAxiom> axioms = new HashSet<OWLAxiom>(); QuerySolution solution; @@ -622,7 +672,9 @@ rdfNodeSubject = solution.getResource("?subject"); rdfNodeObject = solution.getResource("?object"); - + if(rdfNodeObject == null || rdfNodeSubject == null){ + continue; + } //skip if solution contains blank node if(rdfNodeSubject.isAnon() || rdfNodeObject.isAnon()){ continue; @@ -681,7 +733,9 @@ rdfNodeSubject = solution.getResource("?subject"); rdfNodeObject = solution.getResource("?object"); - + if(rdfNodeObject == null || rdfNodeSubject == null){ + continue; + } //skip if solution contains blank node if(rdfNodeSubject.isAnon() || rdfNodeObject.isAnon()){ continue; @@ -777,7 +831,7 @@ rdfNodeSubject = solution.getResource("?subject"); //skip if solution contains blank node - if(rdfNodeSubject.isAnon()){ + if(rdfNodeSubject == null || rdfNodeSubject.isAnon()){ continue; } @@ -1421,13 +1475,25 @@ } public static void main(String[] args) throws OWLOntologyCreationException, IOException{ - PelletExplanation.setup(); +// PelletExplanation.setup(); IncrementalInconsistencyFinder incFinder = new IncrementalInconsistencyFinder(); - if(args.length == 1){ - incFinder.run(args[0], ""); - } else if(args.length == 2){ - incFinder.run(args[0], args[1]); + List<String> endpoints = new SparqlEndpointFinder().find(); + for(int i = 8; i < endpoints.size(); i++){ + try{ + incFinder.run(endpoints.get(i), ""); + } catch (HTTPException e){ + e.printStackTrace(); + } catch (ResultSetException e){ + e.printStackTrace(); + } catch(Exception e){ + e.printStackTrace(); + } } +// if(args.length == 1){ +// incFinder.run(args[0], ""); +// } else if(args.length == 2){ +// incFinder.run(args[0], args[1]); +// } 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-26 11:27:07 UTC (rev 2216) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/DebugFromSparqlDialog.java 2010-07-26 13:23:14 UTC (rev 2217) @@ -1,9 +1,11 @@ package org.dllearner.tools.ore.ui; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Component; import java.awt.Cursor; import java.awt.Dimension; +import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; @@ -33,7 +35,6 @@ import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.DefaultListCellRenderer; -import javax.swing.DefaultListModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; @@ -46,12 +47,14 @@ import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JScrollPane; +import javax.swing.JSeparator; import javax.swing.JTextField; +import javax.swing.JTextPane; import javax.swing.JToggleButton; import javax.swing.ProgressMonitor; import javax.swing.SwingUtilities; import javax.swing.SwingWorker; -import javax.swing.Timer; +import javax.swing.UIManager; import javax.swing.border.TitledBorder; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; @@ -59,21 +62,23 @@ import javax.swing.text.Document; import javax.swing.text.JTextComponent; +import org.dllearner.tools.ore.MemoryWarningSystem; +import org.dllearner.tools.ore.MemoryWarningSystem.MemoryWarningListener; import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.sparql.IncrementalInconsistencyFinder; import org.dllearner.tools.ore.sparql.SPARQLProgressMonitor; import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator; +import org.protege.editor.core.ui.error.ErrorLogPanel; import org.protege.editor.core.ui.list.MList; import org.protege.editor.core.ui.list.MListItem; import org.protege.editor.core.ui.list.MListSectionHeader; -import org.protege.editor.core.ui.util.ComponentFactory; import org.semanticweb.owlapi.model.OWLAxiom; import org.semanticweb.owlapi.model.OWLOntology; import org.semanticweb.owlapi.model.OWLOntologyCreationException; import com.clarkparsia.owlapi.explanation.PelletExplanation; -public class DebugFromSparqlDialog extends JDialog implements ActionListener, PropertyChangeListener, DocumentListener, SPARQLProgressMonitor { +public class DebugFromSparqlDialog extends JDialog implements ActionListener, PropertyChangeListener, DocumentListener, SPARQLProgressMonitor, MemoryWarningListener { /** * @@ -93,8 +98,6 @@ private JTextField defaultGraphField; private JButton searchStopButton; - private JButton addNamespaceButton; - private JButton deleteNamespaceButton; private JLabel messageLabel; private String progressMessage; @@ -106,10 +109,6 @@ private JCheckBox useCacheCheckBox; private JCheckBox restrictNamespacesCheckBox; - private JList linkedDataNamespaceslist; - private DefaultListModel linkedDataNamespaceslistModel; - private JScrollPane linkedDataNamespaceslistScrollPane; - private MList namespacesList; private IncrementalInconsistencyFinder inc; @@ -131,9 +130,12 @@ "</tr> " + "</table></html>"; - private OntologyExtractingTask extractTask; + private static final String warningMessage = "Searching " + + "inconsistencies can take several minutes or may even result in an " + + "out of memory exception, in particular for large knowledge bases."; + + private SearchInconsistencyTask extractTask; private ProgressMonitor mon; - private Timer t; private Map<URI, List<String>> endpointToDefaultGraph; @@ -150,6 +152,11 @@ // addPredefinedEndpoints(); positionErrorDialog(owner); addPredefinedEndpoints(); + + //add listener to warn if programm runs into OutOfMemoryError + MemoryWarningSystem.setPercentageUsageThreshold(0.8); + MemoryWarningSystem mws = MemoryWarningSystem.getInstance(); + mws.addListener(this); } private void createControls() { @@ -162,10 +169,14 @@ // Create a panel to hold a box with the buttons in it - to give it the // right space around them - JPanel buttonPanel = new JPanel(); - buttonPanel.add(buttonBox); + Box buttonPanel = Box.createVerticalBox(); + JPanel b = new JPanel();b.add(buttonBox); + + buttonPanel.add(b); + buttonPanel.add(createProgressPanel()); + buttonPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); - + // Create the buttons and add them to the box (leading strut will give // the dialog box its width) buttonBox.add(okButton = createButton("Ok", 'o')); @@ -178,6 +189,20 @@ // Add the button panel to the bottom of the BorderLayout getContentPane().add(buttonPanel, BorderLayout.SOUTH); } + + private JPanel createProgressPanel(){ + JPanel panel = new JPanel(new BorderLayout()); + JPanel leftPanel = new JPanel(new FlowLayout()); + progressBar = new JProgressBar(); + leftPanel.add(progressBar); + leftPanel.add(new JSeparator(JSeparator.VERTICAL)); + messageLabel = new JLabel(); + leftPanel.add(messageLabel); + leftPanel.add(new JSeparator(JSeparator.VERTICAL)); + leftPanel.setOpaque(false); + panel.add(leftPanel, BorderLayout.WEST); + return panel; + } private void createSparqlPanel() { JPanel panel = new JPanel(); @@ -208,17 +233,7 @@ endPointHelpPanel.setBorder(new TitledBorder("SPARQL endpoint")); panel.add(endPointHelpPanel, c); - searchStopButton = createButton("Search", 's'); - searchStopButton.setEnabled(false); - c.fill = GridBagConstraints.NONE; - panel.add(searchStopButton, c); - progressBar = new JProgressBar(); - panel.add(progressBar, c); - - messageLabel = new JLabel(""); - panel.add(messageLabel, c); - optionsButton = new JToggleButton(new AbstractAction("Advanced options") { /** @@ -259,21 +274,42 @@ c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; panel.add(optionsButton, c); - + c.anchor = GridBagConstraints.CENTER; - c.fill = GridBagConstraints.HORIZONTAL; + c.fill = GridBagConstraints.BOTH; + c.weighty = 1.0; optionsPanel = createSPARQLOptionsPanel(); panel.add(optionsPanel, c); optionsPanel.setVisible(false); + c.weighty = 0.0; + searchStopButton = createButton("Search", 's'); + searchStopButton.setEnabled(false); + searchStopButton.setMinimumSize(new Dimension(90, 30)); + c.fill = GridBagConstraints.NONE; + panel.add(searchStopButton, c); + JLabel padding = new JLabel(); c.weighty = 1.0; panel.add(padding, c); + + c.weighty = 0.0; + c.fill = GridBagConstraints.HORIZONTAL; + JTextPane instructionsField = new JTextPane(); + instructionsField.setContentType("text/html"); + Color color = UIManager.getColor("Panel.background"); + instructionsField.setBackground(new Color(color.getRed(), color.getGreen(), color.getBlue())); + instructionsField.setOpaque(true); + instructionsField.setEditable(false); + instructionsField.setText(warningMessage); + panel.add(instructionsField, c); + getContentPane().add(panel, BorderLayout.CENTER); } private JPanel createSPARQLOptionsPanel(){ JPanel panel = new JPanel(); + panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); panel.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; @@ -289,9 +325,7 @@ @Override public void actionPerformed(ActionEvent e) { restrictNamespacesCheckBox.setEnabled(useLinkedDataCheckBox.isSelected()); -// linkedDataNamespaceslist.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); -// addNamespaceButton.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); -// deleteNamespaceButton.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); + namespacesList.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); } }); panel.add(useLinkedDataCheckBox, c); @@ -303,66 +337,32 @@ @Override public void actionPerformed(ActionEvent e) { -// linkedDataNamespaceslist.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); -// addNamespaceButton.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); -// deleteNamespaceButton.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); + namespacesList.setEnabled(restrictNamespacesCheckBox.isSelected() && useLinkedDataCheckBox.isSelected()); } }); panel.add(restrictNamespacesCheckBox, c); c.weightx = 1.0; c.gridx = 1; -// linkedDataNamespaceslistModel = new DefaultListModel(); -// linkedDataNamespaceslist = new JList(linkedDataNamespaceslistModel); -// linkedDataNamespaceslist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); -// linkedDataNamespaceslist.setSelectedIndex(0); -// linkedDataNamespaceslist.setVisibleRowCount(5); -// linkedDataNamespaceslist.setEnabled(false); -// linkedDataNamespaceslistScrollPane = new JScrollPane(linkedDataNamespaceslist); -// linkedDataNamespaceslistScrollPane.setVisible(false); -// c.fill = GridBagConstraints.HORIZONTAL; -// panel.add(linkedDataNamespaceslistScrollPane, c); -// -// Box buttonBox = Box.createHorizontalBox(); -// addNamespaceButton = createButton("Add", 'a'); -// addNamespaceButton.setEnabled(false); -// buttonBox.add(addNamespaceButton); -// -// buttonBox.add(Box.createHorizontalGlue()); -// buttonBox.add(Box.createHorizontalStrut(4)); -// deleteNamespaceButton = createButton("Delete", 'a'); -// deleteNamespaceButton.setEnabled(false); -// buttonBox.add(deleteNamespaceButton); -// -// JPanel buttonPanel = new JPanel(); -// buttonPanel.add(buttonBox); -// c.anchor = GridBagConstraints.WEST; -// c.fill = GridBagConstraints.HORIZONTAL; -// panel.add(buttonPanel, c); - - - /////////////////// - JPanel namespacesHolder = new JPanel(new BorderLayout()); - namespacesHolder.setBorder(ComponentFactory.createTitledBorder("Namespaces")); + namespacesList = new MList() { - /** - * - */ private static final long serialVersionUID = 6590889767286900162L; protected void handleAdd() { - addURI(); + addNamespace(); } protected void handleDelete() { - deleteSelectedBookmark(); + deleteSelectedNamespace(); } }; - + c.fill = GridBagConstraints.BOTH; + c.weighty = 1.0; namespacesList.setCellRenderer(new NamespaceItemListRenderer()); - namespacesHolder.add(new JScrollPane(namespacesList)); + namespacesList.setVisibleRowCount(5); + fillNamespacesList(); panel.add(new JScrollPane(namespacesList), c); - fillList(); + return panel; } @@ -413,7 +413,7 @@ } public int showDialog(){ - setSize(700, 600); + setSize(700, 400); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); SwingUtilities.invokeLater(new Runnable() { @@ -434,30 +434,9 @@ canceled = false; messageLabel.setText("Checking SPARQL endpoint availability"); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - mon = new ProgressMonitor(this, "Extracting fragment", "", 0, 100); - mon.setMillisToDecideToPopup(0); - mon.setMillisToPopup(0); - mon.getAccessibleContext().getLocale(); + progressBar.setVisible(true); - - t = new Timer(1000,new ActionListener() { - - - @Override - public void actionPerformed(ActionEvent e) { - - if(mon.isCanceled()){ - extractTask.cancel(true); - setCursor(null); - t.stop(); - - } - - } - }); - t.start(); - - extractTask = new OntologyExtractingTask(this, this); + extractTask = new SearchInconsistencyTask(this, this); extractTask.addPropertyChangeListener(this); extractTask.execute(); @@ -466,6 +445,7 @@ } private void stopSearching() { + messageLabel.setText("Stopping ..."); canceled = true; setCursor(Cursor.getDefaultCursor()); // extractTask.cancel(true); @@ -550,12 +530,12 @@ return inc.getOntology(); } - private class OntologyExtractingTask extends SwingWorker<Void, Void>{ + private class SearchInconsistencyTask extends SwingWorker<Void, Void>{ private SPARQLProgressMonitor mon; private JDialog dialog; - public OntologyExtractingTask(JDialog dialog, SPARQLProgressMonitor mon) { + public SearchInconsistencyTask(JDialog dialog, SPARQLProgressMonitor mon) { this.mon = mon; this.dialog = dialog; } @@ -587,6 +567,8 @@ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); + } catch (Exception e){ + ErrorLogPanel.showErrorDialog(e); } @@ -624,29 +606,6 @@ canceled = true; returnCode = CANCEL_RETURN_CODE; closeDialog(); - } else if(e.getActionCommand().equals("Add")){ - String s = (String)JOptionPane.showInputDialog( - this, - "Enter linked data namespace", - "Enter namespace", - JOptionPane.PLAIN_MESSAGE, - null, - null, - ""); - if(s != null){ - linkedDataNamespaceslistModel.addElement(s); - linkedDataNamespaceslistScrollPane.setVisible(true); - validate(); - } - } else if(e.getActionCommand().equals("Delete")){ - if(linkedDataNamespaceslist.getSelectedValue() != null){ - linkedDataNamespaceslistModel.removeElement(linkedDataNamespaceslist.getSelectedValue()); - if(linkedDataNamespaceslistModel.isEmpty()){ - linkedDataNamespaceslistScrollPane.setVisible(false); - validate(); - } - - } } else if(e.getActionCommand().equals("endpoints")){ messageLabel.setText(""); JComboBox cb = (JComboBox)e.getSource(); @@ -757,15 +716,15 @@ dialog.showDialog(); } - private void addURI() { + private void addNamespace() { String namespace = JOptionPane.showInputDialog(this, "Please enter a namespace", "Namespace", JOptionPane.PLAIN_MESSAGE); if (namespace != null) { namespaces.add(namespace); - fillList(); + fillNamespacesList(); } } - private void fillList() { + private void fillNamespacesList() { ArrayList<Object> data = new ArrayList<Object>(); data.add(new AddURIItem()); @@ -775,14 +734,14 @@ namespacesList.setListData(data.toArray()); } - private void deleteSelectedBookmark() { + private void deleteSelectedNamespace() { Object selObj = namespacesList.getSelectedValue(); if (!(selObj instanceof NamspaceListItem)) { return; } NamspaceListItem item = (NamspaceListItem) selObj; namespaces.remove(item.namespace); - fillList(); + fillNamespacesList(); } private class NamespaceItemListRenderer extends DefaultListCellRenderer { @@ -852,6 +811,17 @@ } } + @Override + public void memoryUsageLow(long usedMemory, long maxMemory) { + double percentageUsed = ((double) usedMemory) / maxMemory; + StringBuilder message = new StringBuilder(); + 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); + + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |