From: <lor...@us...> - 2009-09-12 09:16:44
|
Revision: 1843 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1843&view=rev Author: lorenz_b Date: 2009-09-12 09:16:36 +0000 (Sat, 12 Sep 2009) Log Message: ----------- fixed bug removed some unnecessary classes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java trunk/src/dl-learner/org/dllearner/tools/ore/PelletBug.java trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HSTExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LaconicTest.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LostEntailmentsChecker.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/PelletExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/BaseDescriptionGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/SimpleExplanationTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/UnsatisfiableExplanationPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/KnowledgeSourcePanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/LearningPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/LeftPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/RepairPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/UnsatisfiableExplanationPanel.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton2.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton3.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -22,12 +22,15 @@ import java.awt.Dimension; import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; import java.util.Locale; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; +import org.apache.log4j.PropertyConfigurator; import org.dllearner.tools.ore.ui.wizard.Wizard; import org.dllearner.tools.ore.ui.wizard.WizardPanelDescriptor; import org.dllearner.tools.ore.ui.wizard.descriptors.ClassChoosePanelDescriptor; @@ -44,6 +47,7 @@ * */ public class OREApplication { + /** * main method. @@ -51,6 +55,14 @@ */ public static void main(String[] args) { try { + PropertyConfigurator.configure(new URL("file:src/dl-learner/org/dllearner/tools/ore/log4j.properties")); + } catch (MalformedURLException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + + + try { // UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) { @@ -111,7 +123,7 @@ @Override public void run() { System.out.println("Starting application..."); - int ret = wizard.showModalDialog(); + wizard.showModalDialog(); System.out.println("Exited ORE application"); System.exit(0); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/PelletBug.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/PelletBug.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/PelletBug.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -37,14 +37,14 @@ PelletExplanation expGen = new PelletExplanation(manager, Collections.singleton(ontology)); System.out.println(reasoner.isEntailed(axiom)); -// System.out.println(expGen.getEntailmentExplanations(axiom)); -// -// OWLDataRange range = factory.getTopDataType(); -// OWLDataSomeRestriction dataSome = factory.getOWLDataSomeRestriction(property, range); -// OWLSubClassAxiom subClass = factory.getOWLSubClassAxiom(dataSome, domain); -// -// System.out.println(reasoner.isEntailed(subClass)); -// System.out.println(expGen.getEntailmentExplanations(subClass)); + System.out.println(expGen.getEntailmentExplanations(axiom)); + + OWLDataRange range = factory.getTopDataType(); + OWLDataSomeRestriction dataSome = factory.getOWLDataSomeRestriction(property, range); + OWLSubClassAxiom subClass = factory.getOWLSubClassAxiom(dataSome, domain); + + System.out.println(reasoner.isEntailed(subClass)); + System.out.println(expGen.getEntailmentExplanations(subClass)); } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -64,11 +64,21 @@ fireRepairPlanChanged(); } + public void addToRepairPlan(List<OWLOntologyChange> changes){ + repairPlan.addAll(changes); + fireRepairPlanChanged(); + } + public void removeFromRepairPlan(OWLOntologyChange change){ repairPlan.remove(change); fireRepairPlanChanged(); } + public void removeFromRepairPlan(List<OWLOntologyChange> changes){ + repairPlan.removeAll(changes); + fireRepairPlanChanged(); + } + public List<OWLOntologyChange> getRepairPlan(){ return repairPlan; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -49,9 +49,6 @@ lastRequestedRegularSize = new HashMap<OWLAxiom, Integer>(); lastRequestedLaconicSize = new HashMap<OWLAxiom, Integer>(); RepairManager.getInstance(OREManager.getInstance()).addListener(this); -// regularExpGen = new PelletExplanation(manager, Collections.singleton(ontology)); -// laconicExpGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(ontology)); - } public void setComputeLaconicExplanations(boolean laconic){ @@ -63,14 +60,12 @@ } @Override - public Explanation getExplanation(OWLAxiom entailment){ - + public Explanation getExplanation(OWLAxiom entailment){ return getExplanations(entailment, 1).iterator().next(); } @Override - public Set<Explanation> getExplanations(OWLAxiom entailment){ - + public Set<Explanation> getExplanations(OWLAxiom entailment){ return getExplanations(entailment, -1); } @@ -105,6 +100,7 @@ } axiom2Module.put(entailment, module); laconicExpGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(module)); + laconicExpGen.setProgressMonitor(TaskManager.getInstance().getStatusBar()); if(limit == -1){ explanations = laconicExpGen.getExplanations(entailment); } else { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HSTExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HSTExplanationGenerator.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/HSTExplanationGenerator.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -8,9 +8,8 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.semanticweb.owl.inference.OWLClassReasoner; import org.semanticweb.owl.inference.OWLReasonerFactory; import org.semanticweb.owl.model.OWLAxiom; @@ -69,8 +68,9 @@ */ public class HSTExplanationGenerator implements MultipleExplanationGenerator { - public static final Logger log = Logger.getLogger(HSTExplanationGenerator.class - .getName()); + + + private static Logger logger = Logger.getLogger(HSTExplanationGenerator.class); private TransactionAwareSingleExpGen singleExplanationGenerator; @@ -154,8 +154,8 @@ if (maxExplanations < 0) throw new IllegalArgumentException(); - if (log.isLoggable(Level.CONFIG)) - log.config("Get " + (maxExplanations == 0 ? "all" : maxExplanations) + " explanation(s) for: " + unsatClass); + + logger.debug("Get " + (maxExplanations == 0 ? "all" : maxExplanations) + " explanation(s) for: " + unsatClass); try { Set<OWLAxiom> firstMups = getExplanation(unsatClass); @@ -255,8 +255,8 @@ Set<Set<OWLAxiom>> satPaths, Set<OWLAxiom> currentPathContents, int maxExplanations) throws OWLException { - if (log.isLoggable(Level.FINE)) - log.fine("MUPS " + allMups.size() + ": " + mups); + + logger.debug("MUPS " + allMups.size() + ": " + mups); if (progressMonitor.isCancelled()) { return; @@ -268,18 +268,19 @@ while (!orderedMups.isEmpty()) { if (progressMonitor.isCancelled()) { + logger.debug("Canceled computing explanations"); return; } OWLAxiom axiom = orderedMups.get(0); orderedMups.remove(0); if (allMups.size() == maxExplanations) { - if (log.isLoggable(Level.FINE)) - log.fine("Computed " + maxExplanations + "explanations"); + + logger.debug("Computed " + maxExplanations + " explanations"); return; } - if (log.isLoggable(Level.FINE)) - log.fine("Removing axiom: " + axiom + " " + currentPathContents.size() + " more removed: " + currentPathContents); + + logger.debug("Removing axiom: " + axiom + " " + currentPathContents.size() + " more removed: " + currentPathContents); // Remove the current axiom from all the ontologies it is included // in @@ -318,8 +319,8 @@ for (Set<OWLAxiom> satPath : satPaths) { if (currentPathContents.containsAll(satPath)) { earlyTermination = true; - if (log.isLoggable(Level.FINE)) - log.fine("Stop - satisfiable (early termination)"); + + logger.debug("Stop - satisfiable (early termination)"); break; } } @@ -362,8 +363,8 @@ orderedMups = getOrderedMUPS(orderedMups, allMups); } else { - if (log.isLoggable(Level.FINE)) - log.fine("Stop - satisfiable"); + + logger.debug("Stop - satisfiable"); // End of current path - add it to the list of paths satPaths.add(new HashSet<OWLAxiom>(currentPathContents)); @@ -373,8 +374,8 @@ // Back track - go one level up the tree and run for the next axiom currentPathContents.remove(axiom); - if (log.isLoggable(Level.FINE)) - log.fine("Restoring axiom: " + axiom); + + logger.debug("Restoring axiom: " + axiom); // Remove any temporary declarations for( OWLDeclarationAxiom decl : temporaryDeclarations ) { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LaconicTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LaconicTest.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LaconicTest.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -33,10 +33,10 @@ public static void main(String[] args) { -// test(); + test(); miniTest(); -// miniEconomyTest(); -// universityTest(); + miniEconomyTest(); + universityTest(); } public static void test(){ @@ -55,7 +55,6 @@ OWLOntology ontology = manager.loadOntologyFromPhysicalURI(URI .create(file)); - Set<OWLOntology> ontologies = new HashSet<OWLOntology>(); Reasoner reasoner = resonerFact.createReasoner(manager); reasoner.loadOntologies(Collections.singleton(ontology)); System.out.println(reasoner.getInconsistentClasses()); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LostEntailmentsChecker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LostEntailmentsChecker.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/LostEntailmentsChecker.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -92,6 +92,12 @@ } lostEntailments = SetUtils.difference(entailmentsBefore, entailmentsAfter); addedEntailents = SetUtils.difference(entailmentsAfter, entailmentsBefore); + + for(OWLOntologyChange change : changes){ + if(change instanceof RemoveAxiom){ + lostEntailments.remove(change.getAxiom()); + } + } impact.add(0, lostEntailments); impact.add(1, addedEntailents); manager.applyChanges(getInverseChanges(changes)); @@ -103,6 +109,7 @@ // TODO Auto-generated catch block e.printStackTrace(); } + return impact; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/PelletExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/PelletExplanationGenerator.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/PelletExplanationGenerator.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -17,7 +17,6 @@ import com.clarkparsia.explanation.BlackBoxExplanation; import com.clarkparsia.explanation.GlassBoxExplanation; -import com.clarkparsia.explanation.HSTExplanationGenerator; import com.clarkparsia.explanation.SatisfiabilityConverter; import com.clarkparsia.explanation.TransactionAwareSingleExpGen; import com.clarkparsia.explanation.util.ExplanationProgressMonitor; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/BaseDescriptionGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/BaseDescriptionGenerator.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/BaseDescriptionGenerator.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -38,6 +38,8 @@ private OWLDataFactory factory; private static TopTester topChecker = new TopTester(); private static BottomTester bottomChecker = new BottomTester(); + + public BaseDescriptionGenerator(OWLDataFactory factory) { @@ -176,10 +178,13 @@ Set<OWLDescription> descs = new HashSet<OWLDescription>(); descs.add(desc); - for(OWLDescription filler : factory.getOWLObjectOneOf(new OWLIndividual[] {(OWLIndividual)desc.getValue()}).accept(this)){ - descs.add(factory.getOWLObjectSomeRestriction((OWLObjectPropertyExpression)desc.getProperty(), filler)); +// for(OWLDescription filler : factory.getOWLObjectOneOf(new OWLIndividual[] {(OWLIndividual)desc.getValue()}).accept(this)){ +// descs.add(factory.getOWLObjectSomeRestriction((OWLObjectPropertyExpression)desc.getProperty(), filler)); +// } + OWLDescription d = factory.getOWLObjectSomeRestriction((OWLObjectPropertyExpression)desc.getProperty(), getLimit()); + if(!isNothing(d)){ + descs.add(d); } - descs.add(getLimit()); return descs; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -6,12 +6,10 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.dllearner.tools.ore.explanation.Explanation; import org.dllearner.tools.ore.explanation.ExplanationException; -import org.dllearner.tools.ore.explanation.HSTExplanationGenerator; import org.dllearner.tools.ore.explanation.PelletExplanationGenerator; import org.mindswap.pellet.owlapi.PelletReasonerFactory; import org.semanticweb.owl.apibinding.OWLManager; @@ -46,8 +44,7 @@ private Set<Explanation> allPreviouslyFoundExplanations; private OPlus oPlus; - public static final Logger log = Logger.getLogger(LaconicExplanationGenerator.class - .getName()); + private static Logger logger = Logger.getLogger(LaconicExplanationGenerator.class); private ExplanationProgressMonitor progressMonitor = new SilentExplanationProgressMonitor(); @@ -111,9 +108,9 @@ Set<Explanation> regularExplanations = pelletExplanation .getExplanations((OWLAxiom) entailment); - if (log.isLoggable(Level.CONFIG)){ - log.config("Found " + regularExplanations.size() + " regular explanations"); - } + + logger.debug("Found " + regularExplanations.size() + " regular explanations"); + lastRegularExplanations.clear(); lastRegularExplanations.addAll(regularExplanations); allPreviouslyFoundExplanations = new HashSet<Explanation>(); @@ -147,13 +144,9 @@ if (extendedOntology.getLogicalAxioms().equals( axiomsInPreviousOntology)) { - if (log.isLoggable(Level.CONFIG)){ - log.config(""); - } + logger.debug("Ontology did not changed. Early termination."); break; } - // man2.saveOntology(extendedOnt, - // URI.create("file:/home/lorenz/neu.owl")); axiomsInPreviousOntology.clear(); axiomsInPreviousOntology .addAll(extendedOntology.getLogicalAxioms()); @@ -196,7 +189,7 @@ } } - return retrieveAxioms(explanations); + return explanations;//retrieveAxioms(explanations); } public boolean isLaconic(Explanation explanation) @@ -311,8 +304,8 @@ public Set<Explanation> getExplanations(OWLAxiom entailment, int limit) throws ExplanationException { - if (log.isLoggable(Level.CONFIG)) - log.config("Get " + (limit == Integer.MAX_VALUE ? "all" : limit) + " explanation(s) for: " + entailment); + + logger.debug("Get " + (limit == Integer.MAX_VALUE ? "all" : limit) + " explanation(s) for: " + entailment); Set<Explanation> explanations; try { explanations = computePreciseJusts(entailment, limit); @@ -332,7 +325,7 @@ public Set<OWLAxiom> getSourceAxioms(OWLAxiom axiom){ Map<OWLAxiom, Set<OWLAxiom>> axioms2SourceMap = oPlus.getAxiomsMap(); Set<OWLAxiom> sourceAxioms = new HashSet<OWLAxiom>(); - System.out.println(axiom); + System.out.println("Getting source axioms for: " + axiom); for(OWLAxiom ax : axioms2SourceMap.get(axiom)){ if(ontology.containsAxiom(ax)){ sourceAxioms.add(ax); @@ -344,19 +337,35 @@ public Set<OWLAxiom> getRemainingAxioms(OWLAxiom source, OWLAxiom part){ Set<OWLAxiom> parts = computeOPlus(Collections.singleton(source)); + for(OWLAxiom ax : parts){ +// System.out.println("Part: " + ax); + for(OWLAxiom a : oPlus.getAxiomsMap().get(ax)){ +// System.out.println("has source: " + a); + } + + } + for(OWLAxiom par : parts){ - System.out.println("has Part: " + par); +// System.out.println("has Part: " + par); } -// parts.remove(part);System.out.println("removed part: " + part); - for(OWLAxiom pa : parts){ - System.out.println("\nPart: " + pa); - for(OWLAxiom ax : oPlus.getAxiomsMap().get(pa)){ - System.out.println("has source : " + ax); + for(OWLAxiom ax : oPlus.getAxiomsMap().get(part)){ + parts.remove(ax); +// System.out.println("Removing: " + ax); + } + Set<OWLAxiom> remove = new HashSet<OWLAxiom>(); + for(OWLAxiom ax : parts){ + for(OWLAxiom a : computeOPlus(Collections.singleton(ax))){ + if(!a.equals(ax)){ + remove.add(a); + } } } + parts.removeAll(remove); + parts.remove(part); + return parts; - return rebuildAxioms(parts); + } private Set<OWLAxiom> rebuildAxioms(Set<OWLAxiom> axioms){ @@ -423,7 +432,7 @@ return reconstituedAxioms; } - public static void main(String[] args) throws OWLOntologyCreationException, ExplanationException{ + public static void main(String[] args) throws OWLOntologyCreationException, ExplanationException, OWLOntologyChangeException{ String baseURI = "http://protege.stanford.edu/plugins/owl/owl-library/koala.owl"; OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); OWLOntology ontology = manager.loadOntologyFromPhysicalURI(URI.create("file:examples/ore/koala.owl")); @@ -432,13 +441,34 @@ OWLClass koalaWithPhD = factory.getOWLClass(URI.create(baseURI + "#KoalaWithPhD")); OWLClass koala = factory.getOWLClass(URI.create(baseURI + "#Koala")); - System.out.println(expGen.getExplanations(factory.getOWLSubClassAxiom(koalaWithPhD, factory.getOWLNothing()), 1)); - OWLAxiom laconicAx = factory.getOWLSubClassAxiom(koalaWithPhD, koala); - Set<OWLAxiom> sourceAxioms = expGen.getSourceAxioms(laconicAx); +// System.out.println(expGen.getExplanations(factory.getOWLSubClassAxiom(koalaWithPhD, factory.getOWLNothing()), 1)); +// OWLAxiom laconicAx = factory.getOWLSubClassAxiom(koalaWithPhD, koala); +// Set<OWLAxiom> sourceAxioms = expGen.getSourceAxioms(laconicAx); +// System.out.println("Source axioms: " + sourceAxioms); +// for(OWLAxiom sourceAx : sourceAxioms){ +// System.out.println("\nRebuildet: " + expGen.getRemainingAxioms(sourceAx, laconicAx)); +// } + + OWLAxiom ax = factory.getOWLEquivalentClassesAxiom(factory.getOWLClass(URI.create("A")), + factory.getOWLObjectIntersectionOf(factory.getOWLClass(URI.create("C")), + factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), + factory.getOWLClass(URI.create("F"))))); + OWLAxiom ax2 = factory.getOWLSubClassAxiom(factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), factory.getOWLThing()), + factory.getOWLObjectComplementOf(factory.getOWLClass(URI.create("C")))); + Set<OWLAxiom> ont = new HashSet<OWLAxiom>(); + ont.add(ax); + ont.add(ax2); + OWLOntology o = manager.createOntology(ont); + expGen = new LaconicExplanationGenerator(manager, new PelletReasonerFactory(), Collections.singleton(o)); + System.out.println(expGen.getExplanations(factory.getOWLSubClassAxiom(factory.getOWLClass(URI.create("A")), factory.getOWLNothing()), 1)); + + OWLAxiom remove = factory.getOWLSubClassAxiom(factory.getOWLClass(URI.create("A")),factory.getOWLObjectSomeRestriction(factory.getOWLObjectProperty(URI.create("R")), factory.getOWLThing())); + Set<OWLAxiom> sourceAxioms = expGen.getSourceAxioms(remove); System.out.println("Source axioms: " + sourceAxioms); for(OWLAxiom sourceAx : sourceAxioms){ - System.out.println("\nRebuildet: " + expGen.getRemainingAxioms(sourceAx, laconicAx)); + System.out.println("\nRebuildet: " + expGen.getRemainingAxioms(sourceAx, remove)); } + } } Added: trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties 2009-09-12 09:16:36 UTC (rev 1843) @@ -0,0 +1,5 @@ +log4j.rootLogger=INFO, A +log4j.logger.org.dllearner.tools.ore.explanation = DEBUG, A +log4j.appender.A=org.apache.log4j.ConsoleAppender +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -1,5 +1,8 @@ package org.dllearner.tools.ore.ui; +import java.util.ArrayList; +import java.util.List; + import javax.swing.table.AbstractTableModel; import org.dllearner.tools.ore.ExplanationManager; @@ -11,6 +14,7 @@ import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.model.OWLOntologyChange; import org.semanticweb.owl.model.RemoveAxiom; public class ExplanationTableModel extends AbstractTableModel { @@ -71,36 +75,33 @@ OWLAxiom ax = getOWLAxiomAtRow(rowIndex); if(impMan.isSelected(ax)){ impMan.removeSelection(ax); - if(expMan.isLaconicMode()){ + if(expMan.isLaconicMode() && !ont.containsAxiom(ax)){ + List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); for(OWLAxiom source : expMan.getSourceAxioms(ax)){ impMan.removeSelection(source); - repMan.removeFromRepairPlan(new RemoveAxiom(ont, source)); - for(OWLAxiom rem : expMan.getRemainingAxioms(source, ax)){ - repMan.removeFromRepairPlan(new AddAxiom(ont, rem)); + changes.add(new RemoveAxiom(ont, source)); + for(OWLAxiom remain : expMan.getRemainingAxioms(source, ax)){ + changes.add(new AddAxiom(ont, remain)); } - -// repMan.removeAxiom2Remove(source); -// repMan.removeAxioms2Keep(expMan.getRemainingAxioms(source, ax)); } + repMan.removeFromRepairPlan(changes); } else { -// repMan.removeAxiom2Remove(ax); repMan.removeFromRepairPlan(new RemoveAxiom(ont, ax)); } } else { impMan.addSelection(ax); - if(expMan.isLaconicMode()){ + if(expMan.isLaconicMode() && !ont.containsAxiom(ax)){ + List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); for(OWLAxiom source : expMan.getSourceAxioms(ax)){ impMan.addSelection(source); - repMan.addToRepairPlan(new RemoveAxiom(ont, source)); - for(OWLAxiom rem : expMan.getRemainingAxioms(source, ax)){ - repMan.addToRepairPlan(new AddAxiom(ont, rem)); + changes.add(new RemoveAxiom(ont, source)); + for(OWLAxiom remain : expMan.getRemainingAxioms(source, ax)){ + changes.add(new AddAxiom(ont, remain)); } -// repMan.addAxiom2Remove(source); -// repMan.addAxioms2Keep(expMan.getRemainingAxioms(source, ax)); - } + } + repMan.addToRepairPlan(changes); } else { -// repMan.addAxiom2Remove(ax); repMan.addToRepairPlan(new RemoveAxiom(ont, ax)); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -66,6 +66,7 @@ private int returnCode; private JButton okButton = null; + @SuppressWarnings("unused") private JButton cancelButton = null; private JComboBox comboBox; @@ -103,15 +104,6 @@ addPredifinedEndpoints(); positionErrorDialog(owner); } - - private void positionErrorDialog(Dialog owner) { - if (owner == null || !owner.isVisible()) { - Dimension screenDimension = Toolkit.getDefaultToolkit() - .getScreenSize(); - setLocation(screenDimension.width / 2 - getSize().width / 2, - screenDimension.height / 2 - getSize().height / 2); - } - } private void createControls() { getContentPane().setLayout(new BorderLayout()); @@ -238,16 +230,19 @@ private void addPredifinedEndpoints(){ endpointToDefaultGraph = new HashMap<URL, List<String>>(); -// endpointToDefaultGraph.put(SparqlEndpoint.getEndpointDBpedia().getURL(), SparqlEndpoint.getEndpointDBpedia().getDefaultGraphURIs()); -// endpointToDefaultGraph.put(SparqlEndpoint.getEndpointDOAPspace().getURL(), SparqlEndpoint.getEndpointDOAPspace().getDefaultGraphURIs()); for(SparqlEndpoint endpoint : SparqlEndpoint.listEndpoints()){ endpointToDefaultGraph.put(endpoint.getURL(), endpoint.getDefaultGraphURIs()); - } - + } for(URL url : endpointToDefaultGraph.keySet()){ comboBox.addItem(url.toString()); + } + } + + private void positionErrorDialog(Dialog owner) { + if (owner == null || !owner.isVisible()) { + Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); + setLocation(screenDimension.width / 2 - getSize().width / 2, screenDimension.height / 2 - getSize().height / 2); } - } @@ -260,8 +255,7 @@ optionsPanel.setVisible(true); // Cause the new layout to take effect invalidate (); - validate (); - + validate (); } private void collapseOptionsPanel(){ @@ -273,8 +267,7 @@ optionsPanel.setVisible(false); // Cause the new layout to take effect invalidate (); - validate (); - + validate (); } private JButton createButton (String label, char mnemonic) { @@ -302,9 +295,7 @@ setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); return returnCode; } - - - + private void extract() { if(urlIsConnectable()){ message.setText(""); @@ -314,8 +305,7 @@ extractTask.execute(); } else { message.setText("<html><font color=\"red\">Could not connect to endpoint</html>"); - } - + } } private boolean urlIsConnectable() @@ -444,7 +434,6 @@ } } - @Override public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("Extract")){ @@ -489,36 +478,28 @@ if(mon.isCanceled()){ extractTask.cancel(true); } - } - + } } @Override public void changedUpdate(DocumentEvent e) { - setExtractButtonEnabledToValidInput(); - + setExtractButtonEnabledToValidInput(); } @Override public void insertUpdate(DocumentEvent e) { - setExtractButtonEnabledToValidInput(); - + setExtractButtonEnabledToValidInput(); } @Override public void removeUpdate(DocumentEvent e) { - setExtractButtonEnabledToValidInput(); - + setExtractButtonEnabledToValidInput(); } - public static void main(String[] args){ ExtractFromSparqlDialog dialog = new ExtractFromSparqlDialog(null); dialog.showDialog(); - } - - - + } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -3,12 +3,6 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.StringSelection; -import java.awt.event.ActionEvent; -import java.io.FileNotFoundException; -import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -16,11 +10,8 @@ import java.util.List; import java.util.Map; -import javax.swing.AbstractAction; import javax.swing.BorderFactory; -import javax.swing.JFrame; import javax.swing.JPanel; -import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.border.TitledBorder; @@ -28,19 +19,13 @@ import org.protege.editor.core.PropertyUtil; import org.protege.editor.core.ProtegeProperties; import org.semanticweb.owl.apibinding.OWLManager; -import org.semanticweb.owl.io.UnparsableOntologyException; -import org.semanticweb.owl.metrics.AxiomCountMetric; -import org.semanticweb.owl.metrics.AxiomTypeMetric; import org.semanticweb.owl.metrics.DLExpressivity; -import org.semanticweb.owl.metrics.GCICount; -import org.semanticweb.owl.metrics.HiddenGCICount; import org.semanticweb.owl.metrics.OWLMetric; import org.semanticweb.owl.metrics.OWLMetricManager; import org.semanticweb.owl.metrics.ReferencedClassCount; import org.semanticweb.owl.metrics.ReferencedDataPropertyCount; import org.semanticweb.owl.metrics.ReferencedIndividualCount; import org.semanticweb.owl.metrics.ReferencedObjectPropertyCount; -import org.semanticweb.owl.model.AxiomType; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.OWLOntologyChangeException; @@ -68,10 +53,7 @@ private OWLOntologyManager manager; - private JPopupMenu popupMenu; - private AxiomCountMetric lastMetric; - public MetricsPanel() { this.manager = OWLManager.createOWLOntologyManager(); try { @@ -86,55 +68,12 @@ } initialiseOWLView(); - createPopupMenu(); } - - private void createPopupMenu() { - popupMenu = new JPopupMenu(); - popupMenu.add(new AbstractAction("Show axioms") { - /** - * - */ - private static final long serialVersionUID = 1L; - - public void actionPerformed(ActionEvent e) { -// showAxiomTypeDialog(); - - } - }); - } - - -// private void showAxiomTypeDialog() { -// Set<? extends OWLAxiom> axioms = lastMetric.getAxioms(); -// final OWLAxiomTypeFramePanel panel = new OWLAxiomTypeFramePanel(owlEditorKit); -// Set<OWLAxiom> axs = new HashSet<OWLAxiom>(axioms); -// panel.setRoot(axs); -// panel.setPreferredSize(new Dimension(800, 300)); -// JOptionPane op = new JOptionPane(panel, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); -// JDialog dlg = op.createDialog(this, lastMetric.getName()); -// dlg.setResizable(true); -// dlg.addWindowListener(new WindowAdapter() { -// -// public void windowClosed(WindowEvent e) { -// panel.dispose(); -// } -// }); -// dlg.setModal(false); -// dlg.setVisible(true); -// } - - protected void initialiseOWLView() { metricManagerMap = new LinkedHashMap<String, OWLMetricManager>(); tableModelMap = new HashMap<OWLMetricManager, MetricsTableModel>(); createBasicMetrics(); -// createClassAxiomMetrics(); -// createObjectPropertyAxiomMetrics(); -// createDataPropertyAxiomMetrics(); -// createIndividualAxiomMetrics(); -// createAnnotationAxiomMetrics(); createUI(); updateView(manager.getOntologies().iterator().next()); for(OWLMetricManager man : metricManagerMap.values()) { @@ -145,7 +84,6 @@ } } - private void createUI() { setLayout(new BorderLayout()); @@ -193,98 +131,6 @@ metricManagerMap.put("Metrics", metricManager); } - - private void createClassAxiomMetrics() { - List<OWLMetric> metrics = new ArrayList<OWLMetric>(); - metrics.add(new AxiomTypeMetric(manager, AxiomType.SUBCLASS)); - metrics.add(new AxiomTypeMetric(manager, AxiomType.EQUIVALENT_CLASSES)); - metrics.add(new AxiomTypeMetric(manager, AxiomType.DISJOINT_CLASSES)); - metrics.add(new GCICount(manager)); - metrics.add(new HiddenGCICount(manager)); - OWLMetricManager metricManager = new OWLMetricManager(metrics); - metricManagerMap.put("Class axioms", metricManager); - } - - - private void createObjectPropertyAxiomMetrics() { - List<OWLMetric> metrics = new ArrayList<OWLMetric>(); - metrics.add(new AxiomTypeMetric(manager, AxiomType.SUB_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.EQUIVALENT_OBJECT_PROPERTIES)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.INVERSE_OBJECT_PROPERTIES)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.DISJOINT_OBJECT_PROPERTIES)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.FUNCTIONAL_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.INVERSE_FUNCTIONAL_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.TRANSITIVE_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.SYMMETRIC_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.ANTI_SYMMETRIC_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.REFLEXIVE_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.IRREFLEXIVE_OBJECT_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.OBJECT_PROPERTY_DOMAIN)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.OBJECT_PROPERTY_RANGE)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.PROPERTY_CHAIN_SUB_PROPERTY)); - OWLMetricManager metricManager = new OWLMetricManager(metrics); - metricManagerMap.put("Object property axioms", metricManager); - } - - - private void createDataPropertyAxiomMetrics() { - List<OWLMetric> metrics = new ArrayList<OWLMetric>(); - metrics.add(new AxiomTypeMetric(manager, AxiomType.SUB_DATA_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.EQUIVALENT_DATA_PROPERTIES)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.DISJOINT_DATA_PROPERTIES)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.FUNCTIONAL_DATA_PROPERTY)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.DATA_PROPERTY_DOMAIN)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.DATA_PROPERTY_RANGE)); - OWLMetricManager metricManager = new OWLMetricManager(metrics); - metricManagerMap.put("Data property axioms", metricManager); - } - - - private void createIndividualAxiomMetrics() { - List<OWLMetric> metrics = new ArrayList<OWLMetric>(); - metrics.add(new AxiomTypeMetric(manager, AxiomType.CLASS_ASSERTION)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.OBJECT_PROPERTY_ASSERTION)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.DATA_PROPERTY_ASSERTION)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.NEGATIVE_OBJECT_PROPERTY_ASSERTION)); - metrics.add(new AxiomTypeMetric(manager, - AxiomType.NEGATIVE_DATA_PROPERTY_ASSERTION)); - metrics.add(new AxiomTypeMetric(manager, AxiomType.SAME_INDIVIDUAL)); - metrics.add(new AxiomTypeMetric(manager, AxiomType.DIFFERENT_INDIVIDUALS)); - OWLMetricManager metricManager = new OWLMetricManager(metrics); - metricManagerMap.put("Individual axioms", metricManager); - } - - - private void createAnnotationAxiomMetrics() { - List<OWLMetric> metrics = new ArrayList<OWLMetric>(); - metrics.add(new AxiomTypeMetric(manager, AxiomType.ENTITY_ANNOTATION)); - metrics.add(new AxiomTypeMetric(manager, AxiomType.AXIOM_ANNOTATION)); - OWLMetricManager metricManager = new OWLMetricManager(metrics); - metricManagerMap.put("Annotation axioms", metricManager); - } - - public void updateView(OWLOntology activeOntology) { for (OWLMetricManager man : metricManagerMap.values()) { man.setOntology(activeOntology); @@ -296,39 +142,5 @@ setBorder(border); repaint(); } - - - - private void exportCSV() { - StringBuilder sb = new StringBuilder(); - for(OWLMetricManager man : metricManagerMap.values()) { - sb.append(man.toString()); - } - Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); - clipboard.setContents(new StringSelection(sb.toString()), null); - } - - public static void main(String[] args) { - String file = "file:examples/ore/tambis.owl"; - URI uri2 = URI.create("file:/home/lorenz/Desktop/Finance.owl"); - URI uri = URI.create("http://protege.stanford.edu/plugins/owl/owl-library/koala.ow"); - - - OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); - try{ - OWLOntology ontology = manager.loadOntology( uri ); - } catch (OWLOntologyCreationException e){ - System.out.println(e.getClass()); - System.out.println(e.getClass().equals(UnparsableOntologyException.class)); -// System.out.println(e.getCause()); - e.printStackTrace(); - } - JFrame test = new JFrame(); - test.setBounds(200, 200, 600, 200); - test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - test.add(new MetricsPanel()); - test.setVisible(true); - - - } + } Deleted: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -1,191 +0,0 @@ -package org.dllearner.tools.ore.ui; - -//Imports for the GUI classes. -import java.awt.*; -import javax.swing.*; -import java.awt.event.*; - -/** - * RoundButton.java - - * A custom JComponent that is a round button. The round button - * will be empty until the mouse enters the circle. When the - * mouse enters the circle it will be filled in with a specified - * color. Then when the mouse is pressed the color will change - * to a second specified color. Note that RoundButton "is a" - * MouseListener so it can handle its own MouseEvents. - * - * @author Grant William Braught - * @author Dickinson College - * @version 11/29/2000 - */ -public class RoundButton - extends JComponent - implements MouseListener { - - private Color mouseOverColor; - private Color mousePressedColor; - - private boolean mouseOver; - private boolean mousePressed; - - - /** - * Construct a new RoundButton with the specified - * colors for mouse over and mouse pressed events. - * - * @param mouseOverColor the color the button should - * be filled with when the mouse is - * over the button. - * @param mousePressedColor the color the button should be - * filled with when the mouse - * is pressed on the button. - */ - public RoundButton(Color mouseOverColor, - Color mousePressedColor) { - this.mouseOverColor = mouseOverColor; - this.mousePressedColor = mousePressedColor; - mouseOver = false; - mousePressed = false; - - // Make this object a MouseListener for itself. This - // ensures that the MouseEvents ocurring on this JComponet - // will be routed to this object. NOTE: "this" is a - // reference to a RoundButton and a RoundButton "is a" - // JComponent so it has an addMouseListener() method that - // accepts a MouseListener object. Since RoundButton - // implements MouseListener it "is a" MouseListener. - this.addMouseListener(this); - } - - /** - * Default constructor that sets the mouse over color - * to blue and the mouse pressed color to red. - */ - public RoundButton() { - this(Color.blue, Color.red); - } - - /** - * Paint the RoundButton on the screen each time the - * window is redrawn. Recall that the paint() method - * of each JComponent in the content pane is called - * automatically when the window is redrawn. This - * overrides paint() from JComponent so we have control - * over what the RoundButton will look like when it is - * painted. - * - * @param g the Graphics context on which to paint the - * button. - */ - public void paint(Graphics g) { - // Check mouse pressed first because if the mouse - // is pressed it will also be in the button. - if (mousePressed && mouseOver) { - g.setColor(mousePressedColor); - g.fillOval(0,0,100,100); - } - else if (mouseOver) { - g.setColor(mouseOverColor); - g.fillOval(0,0,100,100); - } - else { - g.setColor(Color.black); - g.drawOval(0,0,100,100); - } - } - - /** - * Return the minimum size that our button would - * like to be. This overrides getMinimumSize from - * JComponent which returns 0x0. - * - * @return the minimum size of the RoundButton. - */ - public Dimension getMinimumSize() { - return new Dimension(100,100); - } - - /** - * Return the ideal size that our button would - * like to be. This overrides the getPreferredSize - * from JComponent which returns 0x0. - * - * @return the preferred size of the RoundButton. - */ - public Dimension getPreferredSize() { - return new Dimension(100,100); - } - - // Methods from the MouseListener Interface. - /** - * Handler called when the mouse is clicked on - * the RoundButton. - * - * @param e reference to a MouseEvent object describing - * the mouse click. - */ - public void mouseClicked(MouseEvent e) {} - - /** - * Handler called when the mouse enters the - * RoundButton. This is called when the mouse - * enters the bounding rectangle of the JComponent - * not when it enters the circle! (See RoundButton2 - * for a fix.) - * - * @param e reference to a MouseEvent object describing - * the mouse entry. - */ - public void mouseEntered(MouseEvent e) { - mouseOver = true; - - // Calling repaint() causes the component to be repainted. - // repaint() makes a call to paint() but also does a few - // other things related to the maintainence of the window - // and layout. Therefore, you should never call paint() - // directly. If you want the component to be repainted, - // call repaint(). - repaint(); - } - - /** - * Handler called when the mouse exits the - * RoundButton. Again, this is called when the - * mouse exits the bounding rectangle. - * - * @param e reference to a MouseEvent object describing - * the mouse exit. - */ - public void mouseExited(MouseEvent e) { - mouseOver = false; - repaint(); - } - - /** - * Handler called when the mouse button is pressed - * over the RoundButton. Again this is called if the - * button is pressed anywhere within the bounding - * rectangle. - * - * @param e reference to a MouseEvent object describing - * the mouse press. - */ - public void mousePressed(MouseEvent e) { - mousePressed = true; - repaint(); - } - - /** - * Handler called when the mosue button is released - * over the RoundButton. Blah... Blah.. bounding - * rectangle. - * - * @param e reference to a MouseEvent object describing - * the mouse release. - */ - public void mouseReleased(MouseEvent e) { - mousePressed = false; - repaint(); - } -} - Deleted: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton2.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton2.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton2.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -1,126 +0,0 @@ -package org.dllearner.tools.ore.ui; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - -import javax.swing.ImageIcon; -import javax.swing.JComponent; -import javax.swing.UIManager; - -public class RoundButton2 extends JComponent implements MouseListener{ - String title; - ImageIcon ico; - ActionListener a; - String ac; - boolean p,pressed; - public RoundButton2(String title){ - this(title,new ImageIcon()); - } - public RoundButton2(ImageIcon ico){ - this("",ico); - } - public RoundButton2(){ - this("",new ImageIcon()); - } - public RoundButton2(String title,ImageIcon ico){ - this.title=title; - this.ico=ico; - p=pressed=false; - getInsets().set(15,15,15,15); - addMouseListener(this); - } - public Dimension getPreferredSize() { - Rectangle bounds=getBounds(); - return(new Dimension(new Double(bounds.getWidth()).intValue()+ - getInsets().left+getInsets().left, - new Double(bounds.getHeight()).intValue()+ - getInsets().top+getInsets().bottom)); - } - public Dimension getMinimumSize() { - return(getPreferredSize()); - } - public Dimension getMaximumSize() { - return(getPreferredSize()); - } - boolean onbutton(MouseEvent m){ - double - a=getBounds().getWidth()/2, - b=getBounds().getHeight()/2, - x=new Integer(m.getX()).doubleValue()-a, - y=new Integer(m.getY()).doubleValue()-b, - w=b/a*Math.sqrt(( (a*a) - (x*x) )); - return( y<= w && y>=-w ); - } - public void mouseClicked(MouseEvent e){} - public void mouseEntered(MouseEvent e){ - p=true; - if(pressed)repaint(); - } - public void mouseExited(MouseEvent e){ - if(pressed)repaint(); - } - public void mousePressed(MouseEvent e){ - pressed=true;if(onbutton(e)){p=true; repaint(); } - } - public void mouseReleased(MouseEvent e){ - pressed=false; - if(onbutton(e)){repaint();} - if(ac==null)ac=""; - if(a!=null) a.actionPerformed(new ActionEvent(this,ActionEvent.ACTION_PERFORMED,ac)); - } - protected void paintComponent(Graphics g){ - Graphics2D g2=(Graphics2D)g; - Rectangle bounds=getBounds(); - Color t=g.getColor(); - int j=0; - g.setColor(UIManager.getColor("Button.background").brighter()); - if(p){ - j=1;p=false; - g.setColor(UIManager.getColor("Button.background").darker().darker()); - } - g.fillArc( - j,j, - new Double(bounds.getWidth()).intValue()-4, - new Double(bounds.getHeight()).intValue()-4, - 0, - 360); - g.setColor(UIManager.getColor("Button.background").darker().darker()); - g.fillArc( - 3,3, - new Double(bounds.getWidth()).intValue()-4, - new Double(bounds.getHeight()).intValue()-4, - 45, - -180); - g.setColor(UIManager.getColor("Button.background")); - g.fillArc( - 2+j,2+j, - new Double(bounds.getWidth()).intValue()-6, - new Double(bounds.getHeight()).intValue()-6, - 0, - 360); - g.drawImage( - ico.getImage(), - new Double((double)bounds.getWidth()/8).intValue()+j, - new Double((double)bounds.getHeight()/8).intValue()+j, - new Double((double)bounds.getWidth()*.75).intValue(), - new Double((double)bounds.getHeight()*.75).intValue(), - ico.getImageObserver() - ); - g.setColor(UIManager.getColor("Button.background").darker().darker()); - g.drawString(title.trim(), - new Double((double)bounds.getWidth()/2).intValue()+j, - new Double((double)bounds.getHeight()/2).intValue()+j - ); - g.setColor(t); - } - public void addActionListener(ActionListener e){a=e;} - public void removeActionListener(ActionListener e){a=null;} - public void setActionCommand(String c){ac=c;} -} Deleted: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton3.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton3.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RoundButton3.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -1,75 +0,0 @@ -package org.dllearner.tools.ore.ui; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.Shape; -import java.awt.geom.Ellipse2D; - -import javax.swing.Action; -import javax.swing.BorderFactory; -import javax.swing.DefaultButtonModel; -import javax.swing.Icon; -import javax.swing.JButton; - -class RoundButton3 extends JButton { - public RoundButton3() { - this(null, null); - } - public RoundButton3(Icon icon) { - this(null, icon); - } - public RoundButton3(String text) { - this(text, null); - } - public RoundButton3(Action a) { - this(); - setAction(a); - } - public RoundButton3(String text, Icon icon) { - setModel(new DefaultButtonModel()); - init(text, icon); - if(icon==null) { - return; - } - int iw = Math.max(icon.getIconWidth(), icon.getIconHeight()); - int sw = 1; - setBorder(BorderFactory.createEmptyBorder(sw,sw,sw,sw)); - Dimension dim = new Dimension(iw+sw+sw, iw+sw+sw); - setPreferredSize(dim); - setMaximumSize(dim); - setMinimumSize(dim); - setBackground(Color.BLACK); - setContentAreaFilled(false); - setFocusPainted(false); - //setVerticalAlignment(SwingConstants.TOP); - setAlignmentY(Component.TOP_ALIGNMENT); - initShape(); - } - protected Shape shape, base; - protected void initShape() { - if(!getBounds().equals(base)) { - Dimension s = getPreferredSize(); - base = getBounds(); - shape = new Ellipse2D.Float(0, 0, s.width-1, s.height-1); - } - } - @Override - protected void paintBorder(Graphics g) { - initShape(); - Graphics2D g2 = (Graphics2D)g; - g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - g2.setColor(getBackground()); - //g2.setStroke(new BasicStroke(1.0f)); - g2.draw(shape); - g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); - } - @Override - public boolean contains(int x, int y) { - initShape(); - return shape.contains(x, y); - } -} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/SimpleExplanationTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/SimpleExplanationTableModel.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/SimpleExplanationTableModel.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -49,6 +49,11 @@ } + @Override + public String getColumnName(int column) { + return "Axiom"; + } + public OWLAxiom getOWLAxiomAtRow(int rowIndex){ return expMan.getOrdering(exp).get(rowIndex).keySet().iterator().next(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java 2009-09-10 15:40:18 UTC (rev 1842) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java 2009-09-12 09:16:36 UTC (rev 1843) @@ -3,21 +3,16 @@ import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import javax.swing.Icon; -import javax.swing.ImageIcon; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSpinner; -import javax.swing.JToggleButton; import javax.swing.SpinnerNumberModel; import javax.swing.border.TitledBorder; -public class SparqlExtractOptionsPanel extends JPanel implements ActionListener { +public class SparqlExtractOptionsPanel extends JPanel{ /** * @@ -34,22 +29,10 @@ private JCheckBox getAllSuperClassesCheckBox; private JCheckBox useLitsCheckBox; - private JToggleButton advancedButton; - private JPanel advancedPanel; - - - private Icon untoggledIcon; - private Icon toggledIcon; - - public SparqlExtractOptionsPanel(){ - - untoggledIcon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/untoggled.gif"); - toggledIcon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/toggled.gif"); createUI(); setDefaults(); - setToolTips(); - + setToolTips(); } private void createUI(){ @@ -151,15 +134,6 @@ c.gridy = 8; add(useLitsCheckBox, c); - - c.gridx = 0; - c.gridy = 9; - advancedButton = new JToggleButton("Advanced settings"); - advancedButton.setActionCommand("untoggled"); - advancedButton.setIcon(untoggledIcon); - advancedButton.addActionListener(this); -// add(advancedButton, c); - } public int getRecursionDepthValue(){ @@ -222,11 +196,6 @@ useLitsCheckBox.setToolTipText("use Literals in SPARQL query"); } - private void showAdvancedPanel(){ - advancedPanel = new JPanel(); -... [truncated message content] |