From: <jen...@us...> - 2009-06-25 10:17:17
|
Revision: 1808 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1808&view=rev Author: jenslehmann Date: 2009-06-25 10:17:14 +0000 (Thu, 25 Jun 2009) Log Message: ----------- started algorithm for learning disjunctions of EL trees Modified Paths: -------------- trunk/lib/components.ini trunk/src/dl-learner/org/dllearner/algorithms/el/SearchTreeNode.java trunk/src/dl-learner/org/dllearner/cli/ConfMapper.java trunk/src/dl-learner/org/dllearner/scripts/evaluation/OntologyEngineering.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/algorithms/el/DisjunctiveHeuristic.java trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java Modified: trunk/lib/components.ini =================================================================== --- trunk/lib/components.ini 2009-06-18 13:37:47 UTC (rev 1807) +++ trunk/lib/components.ini 2009-06-25 10:17:14 UTC (rev 1808) @@ -23,4 +23,5 @@ org.dllearner.algorithms.refinement2.ROLComponent2 org.dllearner.algorithms.gp.GP org.dllearner.algorithms.el.ELLearningAlgorithm +org.dllearner.algorithms.el.ELLearningAlgorithmDisjunctive org.dllearner.algorithms.celoe.CELOE Added: trunk/src/dl-learner/org/dllearner/algorithms/el/DisjunctiveHeuristic.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/el/DisjunctiveHeuristic.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/algorithms/el/DisjunctiveHeuristic.java 2009-06-25 10:17:14 UTC (rev 1808) @@ -0,0 +1,16 @@ +package org.dllearner.algorithms.el; + +public class DisjunctiveHeuristic implements ELHeuristic { + + ELDescriptionTreeComparator edt = new ELDescriptionTreeComparator(); + + public int compare(SearchTreeNode tree1, SearchTreeNode tree2) { + double diff = tree1.getScore()-tree2.getScore(); + if(diff < 0.00001 && diff > -0.00001) { + return edt.compare(tree1.getDescriptionTree(), tree2.getDescriptionTree()); + } else { + return (int)Math.signum(diff); + } + } + +} Added: trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java 2009-06-25 10:17:14 UTC (rev 1808) @@ -0,0 +1,340 @@ +/** + * Copyright (C) 2007-2009, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.algorithms.el; + +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; + +import org.apache.log4j.Logger; +import org.dllearner.core.ComponentInitException; +import org.dllearner.core.EvaluatedDescription; +import org.dllearner.core.LearningAlgorithm; +import org.dllearner.core.LearningProblem; +import org.dllearner.core.ReasonerComponent; +import org.dllearner.core.configurators.Configurator; +import org.dllearner.core.configurators.ELLearningAlgorithmConfigurator; +import org.dllearner.core.options.CommonConfigOptions; +import org.dllearner.core.options.ConfigOption; +import org.dllearner.core.options.StringConfigOption; +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.Thing; +import org.dllearner.core.owl.Union; +import org.dllearner.learningproblems.PosNegLP; +import org.dllearner.refinementoperators.ELDown2; + +/** + * A learning algorithm for EL, which will based on an + * ideal refinement operator. + * + * The algorithm learns disjunctions of EL trees as follows: + * - given pos. and neg. examples, noise in %, min coverage per tree x % + * - it searches for an EL tree, which covers at least x % of all positive examples + * and at most (coverage_on_positives * noise) negative examples + * - the covered examples are removed from the pos. and neg. examples + * - termination: all(?) positive examples covered + * + * ev. besser: feste Suchzeiten pro Baum => es wird dann jeweils der beste Baum gewählt + * => Terminierung, wenn alles gecovered ist oder kein Baum mit ausreichender Qualität + * in dem Zeitfenster gefunden wird + * + * In contrast to many other algorithms, only one solution is returned. Additionally, + * the algorithm is not really an anytime algorithm, since the solution is constructed + * stepwise as a set of trees. + * + * TODO redundancy check + * + * @author Jens Lehmann + * + */ +public class ELLearningAlgorithmDisjunctive extends LearningAlgorithm { + + private static Logger logger = Logger.getLogger(ELLearningAlgorithmDisjunctive.class); + private ELLearningAlgorithmConfigurator configurator; + + private ELDown2 operator; + + private boolean isRunning = false; + private boolean stop = false; + + private SearchTreeNode startNode; + private ELHeuristic heuristic; + private TreeSet<SearchTreeNode> candidates; + + // tree search + private List<ELDescriptionTree> currentSolution = new LinkedList<ELDescriptionTree>(); + private EvaluatedDescription bestEvaluatedDescription; + // how important not cover + private double posWeight = 5; + private int startPosExamplesSize; + private int startNegExamplesSize; + private SortedSet<Individual> currentPosExamples; + private SortedSet<Individual> currentNegExamples; + private ELDescriptionTree bestCurrentTree; + private double bestCurrentScore = 0; + private long treeStartTime; + + public ELLearningAlgorithmDisjunctive(PosNegLP problem, ReasonerComponent reasoner) { + super(problem, reasoner); + } + + public static String getName() { + return "disjunctive EL learning algorithm"; + } + + public static Collection<Class<? extends LearningProblem>> supportedLearningProblems() { + Collection<Class<? extends LearningProblem>> problems = new LinkedList<Class<? extends LearningProblem>>(); + problems.add(PosNegLP.class); + return problems; + } + + + public static Collection<ConfigOption<?>> createConfigOptions() { + Collection<ConfigOption<?>> options = new LinkedList<ConfigOption<?>>(); + options.add(CommonConfigOptions.getNoisePercentage()); + options.add(new StringConfigOption("startClass", "the named class which should be used to start the algorithm (GUI: needs a widget for selecting a class)")); + return options; + } + + // we can assume a PosNegLP, because it is the only supported one + private PosNegLP getLearningProblem() { + return (PosNegLP) learningProblem; + } + + @Override + public Configurator getConfigurator() { + return configurator; + } + + @Override + public void init() throws ComponentInitException { + heuristic = new DisjunctiveHeuristic(); + candidates = new TreeSet<SearchTreeNode>(heuristic); + + operator = new ELDown2(reasoner); + } + + @Override + public void start() { + stop = false; + isRunning = true; + reset(); + int treeCount = 0; + + while(!stop && !stoppingCriteriaSatisfied()) { + + treeStartTime = System.nanoTime(); + // create start node + ELDescriptionTree top = new ELDescriptionTree(reasoner, Thing.instance); + addDescriptionTree(top, null); + bestCurrentTree = top; + bestCurrentScore = Double.NEGATIVE_INFINITY; + + // main loop + int loop = 0; + while(!stop && !treeCriteriaSatisfied()) { + // pick the best candidate according to the heuristic + SearchTreeNode best = candidates.pollLast(); + // apply operator + List<ELDescriptionTree> refinements = operator.refine(best.getDescriptionTree()); + // add all refinements to search tree, candidates, best descriptions + for(ELDescriptionTree refinement : refinements) { + addDescriptionTree(refinement, best); + } + loop++; + // logging + if(logger.isTraceEnabled()) { + logger.trace("Choosen node " + best); + logger.trace(startNode.getTreeString()); + logger.trace("Loop " + loop + " completed."); + } + } + + // we found a tree (partial solution) + currentSolution.add(bestCurrentTree); + Description bestDescription = bestCurrentTree.transformToDescription(); + // form union of trees found so far with + if(treeCount==0) { + bestEvaluatedDescription = learningProblem.evaluate(bestDescription); + } else { + Union union = new Union(bestEvaluatedDescription.getDescription(), bestDescription); + bestEvaluatedDescription = learningProblem.evaluate(union); + } + + // remove already covered examples + Iterator<Individual> it = currentPosExamples.iterator(); + int posCov = 0; + while(it.hasNext()) { + Individual ind = it.next(); + if(reasoner.hasType(bestDescription, ind)) { + it.remove(); + posCov++; + } + } + it = currentNegExamples.iterator(); + int negCov = 0; + while(it.hasNext()) { + Individual ind = it.next(); + if(reasoner.hasType(bestDescription, ind)) { + it.remove(); + negCov++; + } + } + logger.info("tree found: " + bestDescription + " (" + posCov + " pos covered, " + currentPosExamples.size() + " remaining, " + negCov + " neg covered, " + currentNegExamples.size() + " remaining"); + + treeCount++; + } + + // print solution + logger.info("solution : " + bestEvaluatedDescription); + + isRunning = false; + } + + // evaluates a description in tree form + private void addDescriptionTree(ELDescriptionTree descriptionTree, SearchTreeNode parentNode) { + + // create search tree node + SearchTreeNode node = new SearchTreeNode(descriptionTree); + + // compute score + double score = getTreeScore(descriptionTree); + node.setScore(score); + + // link to parent (unless start node) + if(parentNode == null) { + startNode = node; + } else { + parentNode.addChild(node); + } + + // TODO: define "too weak" as a coverage on negative examples, which is + // too high for the tree to be considered + + candidates.add(node); + + // check whether this is the best tree + if(score > bestCurrentScore) { + bestCurrentTree = descriptionTree; + bestCurrentScore = score; + } + } + + private double getTreeScore(ELDescriptionTree tree) { + + Description d = tree.transformToDescription(); + + double score = 0; + + // test coverage on current positive examples + int posCovered = 0; + for(Individual ind : currentPosExamples) { + if(reasoner.hasType(d, ind)) { + posCovered++; + score += 1; + } + } +// double posPercentage = posCovered/(double)currentPosExamples.size(); + + // penalty if a minimum coverage is not achieved (avoids too many trees where + // each tree has only little impact) + if(startPosExamplesSize > 10 && posCovered<3 || posCovered < 1) { + score -= 10; + } + + // test coverage on current negative examples + int negCovered = 0; + for(Individual ind : currentNegExamples) { + if(reasoner.hasType(d, ind)) { + negCovered++; + score -= posWeight; + } + } +// double negPercentage = negCovered/(double)currentNegExamples.size(); + + // length penalty + score -= 0.1*tree.getSize(); + + return score; + } + + private boolean treeCriteriaSatisfied() { + long runTime = System.nanoTime() - treeStartTime; + // more than one second has passed + if(runTime / 1000000000 > 1) { + return true; + } else { + return false; + } + } + + private boolean stoppingCriteriaSatisfied() { + // stop if we have a node covering all positives and none of the negatives +// SearchTreeNode bestNode = candidates.last(); +// return (bestNode.getCoveredNegatives() == 0); + + // stop whan all positive examples have been covered + return (currentPosExamples.size()==0); + } + + private void reset() { + // set all values back to their default values (used for running + // the algorithm more than once) + candidates.clear(); + currentSolution.clear(); + bestEvaluatedDescription = learningProblem.evaluate(Thing.instance); + currentPosExamples = getLearningProblem().getPositiveExamples(); + currentNegExamples = getLearningProblem().getNegativeExamples(); + startPosExamplesSize = currentPosExamples.size(); + startNegExamplesSize = currentNegExamples.size(); + } + + @Override + public void stop() { + stop = true; + } + + @Override + public boolean isRunning() { + return isRunning; + } + + @Override + public Description getCurrentlyBestDescription() { + return bestEvaluatedDescription.getDescription(); + } + + @Override + public EvaluatedDescription getCurrentlyBestEvaluatedDescription() { + return bestEvaluatedDescription; + } + + /** + * @return the startNode + */ + public SearchTreeNode getStartNode() { + return startNode; + } + +} Modified: trunk/src/dl-learner/org/dllearner/algorithms/el/SearchTreeNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/el/SearchTreeNode.java 2009-06-18 13:37:47 UTC (rev 1807) +++ trunk/src/dl-learner/org/dllearner/algorithms/el/SearchTreeNode.java 2009-06-25 10:17:14 UTC (rev 1808) @@ -37,6 +37,8 @@ private int coveredNegatives; private boolean tooWeak = false; + private double score; + public SearchTreeNode(ELDescriptionTree descriptionTree) { this.descriptionTree = descriptionTree; } @@ -96,6 +98,7 @@ else ret += coveredNegatives; ret += ", children:" + children.size() + "]"; + ret += " score: " + score; return ret; } @@ -114,6 +117,14 @@ treeString.append(child.getTreeString(depth+1)); } return treeString; + } + + public double getScore() { + return score; + } + + public void setScore(double score) { + this.score = score; } } Modified: trunk/src/dl-learner/org/dllearner/cli/ConfMapper.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/ConfMapper.java 2009-06-18 13:37:47 UTC (rev 1807) +++ trunk/src/dl-learner/org/dllearner/cli/ConfMapper.java 2009-06-25 10:17:14 UTC (rev 1808) @@ -30,6 +30,7 @@ import org.dllearner.algorithms.RandomGuesser; import org.dllearner.algorithms.celoe.CELOE; import org.dllearner.algorithms.el.ELLearningAlgorithm; +import org.dllearner.algorithms.el.ELLearningAlgorithmDisjunctive; import org.dllearner.algorithms.gp.GP; import org.dllearner.algorithms.refinement.ROLearner; import org.dllearner.algorithms.refinement2.ROLComponent2; @@ -101,6 +102,7 @@ learningAlgorithmMapping.put("refinement", ROLearner.class); learningAlgorithmMapping.put("refexamples", ROLComponent2.class); learningAlgorithmMapping.put("el", ELLearningAlgorithm.class); + learningAlgorithmMapping.put("disjunctiveEL", ELLearningAlgorithmDisjunctive.class); learningAlgorithmMapping.put("celoe", CELOE.class); // you do not need to edit anything below Modified: trunk/src/dl-learner/org/dllearner/scripts/evaluation/OntologyEngineering.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/evaluation/OntologyEngineering.java 2009-06-18 13:37:47 UTC (rev 1807) +++ trunk/src/dl-learner/org/dllearner/scripts/evaluation/OntologyEngineering.java 2009-06-25 10:17:14 UTC (rev 1808) @@ -78,10 +78,10 @@ private static DecimalFormat df = new DecimalFormat(); // for performance measurements and development - private static boolean autoMode = false; + private static boolean autoMode = true; private static boolean useFastInstanceChecker = true; - private static boolean useApproximations = true; - private static boolean computeApproxDiff = false; + private static boolean useApproximations = false; + private static boolean computeApproxDiff = true; @SuppressWarnings("unchecked") public static void main(String[] args) throws ComponentInitException, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-08-18 15:32:44
|
Revision: 1828 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1828&view=rev Author: lorenz_b Date: 2009-08-18 15:32:20 +0000 (Tue, 18 Aug 2009) Log Message: ----------- added closed world assumption option to PelletReasoner as it is used in FastInstanceChecker integrated modularity approach to compute explanations in a smaller set of logical axioms provided recentmanager for former used knowledgebases renamed main application class to OREApplication cleaned up ORE-helper class and renamed it to OREManager Modified Paths: -------------- trunk/doc/configOptions.txt trunk/src/dl-learner/org/dllearner/core/configurators/PelletReasonerConfigurator.java trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java trunk/src/dl-learner/org/dllearner/reasoning/PelletReasoner.java trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java trunk/src/dl-learner/org/dllearner/tools/ore/SPARQLTest.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/relevance/SyntacticRelevanceBasedExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/DescriptionLabel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ImpactTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/OWLSyntaxTableCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatusBar.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatusBarSimulator.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassPanelOWLDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/InconsistencyExplanationPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/LearningPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.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/DescriptionPanel.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/UnsatisfiableExplanationPanel.java Added Paths: ----------- trunk/endpoints.txt trunk/examples/ore/tambis.owl trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManagerListener.java trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/ExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/LinkLabel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ReasonerProgressUI.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RecentManager.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/ore/Main.java Modified: trunk/doc/configOptions.txt =================================================================== --- trunk/doc/configOptions.txt 2009-08-17 17:45:45 UTC (rev 1827) +++ trunk/doc/configOptions.txt 2009-08-18 15:32:20 UTC (rev 1828) @@ -215,6 +215,18 @@ conf file usage: owlAPIReasoner.reasonerType = pellet; +component: unnamed component (org.dllearner.reasoning.PelletReasoner) +===================================================================== + +conf file usage: reasoner = null; + +option name: defaultNegation +description: Whether to use default negation, i.e. an instance not being in a class means that it is in the negation of the class. +allowed values: boolean +default value: true +conf file usage: null.defaultNegation = true; + + ********************* * Learning Problems * ********************* @@ -236,7 +248,13 @@ default value: equivalence conf file usage: classLearning.type = equivalence; +option name: useApproximations +description: whether to use stochastic approximations for computing accuracy +allowed values: boolean +default value: true +conf file usage: classLearning.useApproximations = true; + component: pos neg learning problem (org.dllearner.learningproblems.PosNegLPStandard) ===================================================================================== @@ -469,6 +487,24 @@ conf file usage: algorithm = el; +component: disjunctive EL learning algorithm (org.dllearner.algorithms.el.ELLearningAlgorithmDisjunctive) +========================================================================================================= + +conf file usage: algorithm = disjunctiveEL; + +option name: noisePercentage +description: the (approximated) percentage of noise within the examples +allowed values: double min 0.0 max 100.0 +default value: 0.0 +conf file usage: disjunctiveEL.noisePercentage = 0.0; + +option name: startClass +description: the named class which should be used to start the algorithm (GUI: needs a widget for selecting a class) +allowed values: String [] +default value: not set +conf file usage: disjunctiveEL.startClass = ; + + component: genetic programming learning algorithm (org.dllearner.algorithms.gp.GP) ================================================================================== @@ -882,6 +918,12 @@ default value: true conf file usage: refexamples.useDoubleDatatypes = true; +option name: useStringDatatypes +description: specifies whether string datatypes are used in the learning algorothm +allowed values: boolean +default value: false +conf file usage: refexamples.useStringDatatypes = false; + option name: maxExecutionTimeInSeconds description: algorithm will stop after specified seconds allowed values: int Added: trunk/endpoints.txt =================================================================== --- trunk/endpoints.txt (rev 0) +++ trunk/endpoints.txt 2009-08-18 15:32:20 UTC (rev 1828) @@ -0,0 +1,12 @@ +DEBUG - sending query: length: 44 | ENDPOINT: http://www4.wiwiss.fu-berlin.de/dblp/sparql +INFO - finished 1 of 19 +DEBUG - sending query: length: 44 | ENDPOINT: http://dbpedia.org/sparql +INFO - finished 2 of 19 +DEBUG - sending query: length: 44 | ENDPOINT: http://doapspace.org/sparql +DEBUG - RuntimeException in SparqlQuery (see /log/sparql.txt): HttpException: HttpException: 404 Not Found: rethrew: HttpException: 404 Not Found +DEBUG - query was (max. 300 chars displayed) SELECT DISTINCT ?c WHERE {[] a ?c }LIMIT 10 +WARN - rethrew: HttpException: 404 Not Found +INFO - ************** +INFO - endpoint working: http://dbpedia.org/sparql (more than 100 concepts ) needed 20405 ms +INFO - endpoint working: http://www4.wiwiss.fu-berlin.de/dblp/sparql (about 4 concepts ) needed 1756 ms +INFO - endpoint NOT working: http://doapspace.org/sparql needed 583 ms Added: trunk/examples/ore/tambis.owl =================================================================== --- trunk/examples/ore/tambis.owl (rev 0) +++ trunk/examples/ore/tambis.owl 2009-08-18 15:32:20 UTC (rev 1828) @@ -0,0 +1,6051 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<rdf:RDF + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns="http://krono.act.uji.es/Links/ontologies/tambis.owl#" + xml:base="http://krono.act.uji.es/Links/ontologies/tambis.owl"> + <owl:Ontology rdf:about=""/> + <owl:Class rdf:about="#physical-substance"> + <rdfs:subClassOf> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#physical"/> + <owl:Class rdf:about="#substance"/> + </owl:intersectionOf> + </owl:Class> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#enzyme-inhibitor"> + <rdfs:subClassOf> + <owl:Class rdf:about="#regulation"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#sodium"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#biological-compartment"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-space"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#vanadium"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#amino-transfer"> + <rdfs:subClassOf> + <owl:Class rdf:about="#inter-molecule-transfer"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#physicochemical-selector"> + <rdfs:subClassOf> + <owl:Class rdf:about="#selector"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#nucleus"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-structure"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#cell"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#cell"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-classification"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#eukaryote"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-classification"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#eukaryote"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#species"> + <rdfs:subClassOf> + <owl:Class rdf:about="#organism-classification"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#hydrophilic"> + <rdfs:subClassOf> + <owl:Class rdf:about="#hydrophobicity-property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#hydrophobic"> + <rdfs:subClassOf> + <owl:Class rdf:about="#hydrophobicity-property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#time-unit"> + <rdfs:subClassOf> + <owl:Class rdf:about="#unit"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#biological-classification"> + <rdfs:subClassOf> + <owl:Class rdf:about="#mental-organisation"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#complement-dna"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#macromolecular-compound"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#deoxy-nucleotide"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#deoxy-nucleotide"/> + </owl:allValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#strandedness"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#single-stranded"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#reverse-transcribed-from"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#reverse-transcribed-from"/> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#messenger-rna"/> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#messenger-rna"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#small-organic-molecular-compound"> + <rdfs:subClassOf> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#organic-molecular-compound"/> + <owl:Class rdf:about="#small-molecular-compound"/> + </owl:intersectionOf> + </owl:Class> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#sulphur"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#journal-name"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#name"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#name-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#journal"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#name-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#journal"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#structure"> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#trivalent-cation"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-charge"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">3</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-charge"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#positive-charge"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#hydrophobicity-property"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physicochemical-property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#nucleotide"> + <rdfs:subClassOf> + <owl:Class rdf:about="#small-organic-molecular-compound"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#storage-protein"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#gene-name"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#name"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#name-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#gene"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#name-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#gene"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#gene-part"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#dna-part"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#gene"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#gene"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#property"> + <rdfs:subClassOf> + <owl:Class rdf:about="#modifier"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#physical"> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#restriction-endonuclease-site"> + <rdfs:subClassOf> + <owl:Class rdf:about="#dna-site"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#alkali-metal"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#ether-bond-hydrolysis"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#reaction"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#hydrolysis-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#ether-bond"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#small-nuclear-rna-function"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#prosthetic-group"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#cofactor"/> + <owl:Class> + <owl:complementOf> + <owl:Class rdf:about="#metal-ion"/> + </owl:complementOf> + </owl:Class> + </owl:intersectionOf> + </owl:Class> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds-strongly"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#protein"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds-strongly"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#protein"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#macromolecular-compound"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#molecule"/> + <owl:Class rdf:about="#compound"/> + </owl:intersectionOf> + </owl:Class> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-molecular-weight"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-molecular-weight"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#small-organic-molecular-compound"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#small-organic-molecular-compound"/> + </owl:allValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-length"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-length"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#residue-number"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#enzyme-function"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#thioester-bond"> + <rdfs:subClassOf> + <owl:Class rdf:about="#covalent-bond"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#element"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atom-type"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#alpha-helix"> + <rdfs:subClassOf> + <owl:Class rdf:about="#protein-secondary-structure"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#carbon-sulfur-lysis"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#reaction"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#lysis-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#carbon-sulphur-bond"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#protein-binding-site"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#binding-site"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds"/> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#protein"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#reaction"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physical-process"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#transforms"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#transforms"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-product"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-product"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-substrate"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-substrate"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#angstrom"> + <rdfs:subClassOf> + <owl:Class rdf:about="#length-unit"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#modification-site"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#protein-part"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#target-for"/> + <owl:someValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#inter-molecule-transfer"/> + <owl:Class rdf:about="#oxidation-and-reduction"/> + </owl:unionOf> + </owl:Class> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#ribosome-binding-site"> + <rdfs:subClassOf> + <owl:Class rdf:about="#rna-part"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#messenger-rna"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#ribosome"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#holoprotein"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#macromolecular-compound"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#amino-acid"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#amino-acid"/> + </owl:allValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-bound"/> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-bound"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#prosthetic-group"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#coenzyme"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#cofactor"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds-loosely"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#enzyme"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#binds-loosely"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#enzyme"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#cofactor"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#reaction-participant"/> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#metal-ion"/> + <owl:Class rdf:about="#small-organic-molecular-compound"/> + </owl:unionOf> + </owl:Class> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#receptor"> + <rdfs:subClassOf> + <owl:Class rdf:about="#signal-transduction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#glucosyl-transfer"> + <rdfs:subClassOf> + <owl:Class rdf:about="#inter-molecule-transfer"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#single-stranded-dna"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#macromolecular-compound"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#deoxy-nucleotide"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#deoxy-nucleotide"/> + </owl:allValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#strandedness"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#single-stranded"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#carbon-carbon-lysis"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#reaction"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#lysis-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#carbon-carbon-bond"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#holoenzyme"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#macromolecular-compound"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#amino-acid"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#polymer-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#amino-acid"/> + </owl:allValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#catalyses"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#reaction"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-bound"/> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-bound"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#prosthetic-group"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-ec-number"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#ec-number"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#substance"> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#substrate"> + <rdfs:subClassOf> + <owl:Class rdf:about="#reaction-participant"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#regulation"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#small-nucleolar-rna-function"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#part-of-biological-structure"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#biological-structure"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#biological-structure"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#biological-structure"/> + </owl:allValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#journal"> + <rdfs:subClassOf> + <owl:Class rdf:about="#published-material"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#biological-organisation"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physical-organisation"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#membrane"> + <rdfs:subClassOf> + <owl:Class rdf:about="#cellular-part"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#binding-site"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#protein-part"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#target-for"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#binding"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#peptide-bond-hydrolysis"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#reaction"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#hydrolysis-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#peptide-bond"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#two-component-sensor-molecule"> + <rdfs:subClassOf> + <owl:Class rdf:about="#signal-transduction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#modifier"> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#prenylation-site"> + <rdfs:subClassOf> + <owl:Class rdf:about="#modification-site"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#target-for"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#inter-molecule-transfer"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#target-for"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#inter-molecule-transfer"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#compound"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#number-of-atoms"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#atom-type"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#nucleic-acid-binding"> + <rdfs:subClassOf> + <owl:Class rdf:about="#binding"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#copper-divalent-cation"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-metal-class"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#metal"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-charge"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">2</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-charge"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#positive-charge"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#carbon-phosphorus-bond-hydrolysis"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#reaction"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#hydrolysis-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#carbon-phosphorus-bond"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#lipid-attachment-site"> + <rdfs:subClassOf> + <owl:Class rdf:about="#modification-site"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#carbon-sulfur-bond"> + <rdfs:subClassOf> + <owl:Class rdf:about="#covalent-bond"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#chemical-structure"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physical-structure"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#structure-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#structure-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#chemical"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#carbon-carbon-bond-formation"> + <rdfs:subClassOf> + <owl:Class rdf:about="#ligation"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#physical-organisation"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physical-structure"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#transcription-factor-binding"> + <rdfs:subClassOf> + <owl:Class rdf:about="#binding"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#hydroxyl"> + <rdfs:subClassOf> + <owl:Class rdf:about="#ligand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#cleaved-peptide"> + <rdfs:subClassOf> + <owl:Class rdf:about="#peptide"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#protein"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#epimerisation"> + <rdfs:subClassOf> + <owl:Class rdf:about="#isomerisation"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#carboxylation-site"> + <rdfs:subClassOf> + <owl:Class rdf:about="#modification-site"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#physical-space"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physical-structure"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#molecule"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#number-of-atoms"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-bond"/> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-bond"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#covalent-bond"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-molecular-weight"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#molecular-weight"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#astatine"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#sulphation-site"> + <rdfs:subClassOf> + <owl:Class rdf:about="#modification-site"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#target-for"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#inter-molecule-transfer"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#target-for"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#inter-molecule-transfer"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#endoplasmic-reticulum"> + <rdfs:subClassOf> + <owl:Class rdf:about="#organelle"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#cytosol"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#covalent-bond"> + <rdfs:subClassOf> + <owl:Class rdf:about="#chemical-bond"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#electrical-charge"> + <rdfs:subClassOf> + <owl:Class rdf:about="#physicochemical-property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#zinc-divalent-cation"> + <owl:equivalentClass> + <owl:Class> + <owl:intersectionOf rdf:parseType="Collection"> + <owl:Class rdf:about="#chemical"/> + <owl:Restriction> + <owl:onProperty rdf:resource="#atomic-number"/> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-metal-class"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#metal"/> + </owl:someValuesFrom> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-charge"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">2</owl:cardinality> + </owl:Restriction> + <owl:Restriction> + <owl:onProperty rdf:resource="#has-charge"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#positive-charge"/> + </owl:someValuesFrom> + </owl:Restriction> + </owl:intersectionOf> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:Class rdf:about="#spliceosome"> + <rdfs:subClassOf> + <owl:Class rdf:about="#biological-structure"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:someValuesFrom> + <owl:Class rdf:about="#nucleus"/> + </owl:someValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="#part-of"/> + <owl:allValuesFrom> + <owl:Class rdf:about="#nucleus"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="#carbon-nitrogen-bond"> + <rdfs:subClassOf> + <owl:Class rdf:about="#covalent-bond"/> + ... [truncated message content] |
From: <jen...@us...> - 2009-09-23 08:49:40
|
Revision: 1855 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1855&view=rev Author: jenslehmann Date: 2009-09-23 08:49:32 +0000 (Wed, 23 Sep 2009) Log Message: ----------- started SM2PH database conversion script Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java Added Paths: ----------- trunk/resources/architecture_celoe.eps trunk/src/dl-learner/org/dllearner/examples/mutation.ini.dist Property Changed: ---------------- trunk/src/dl-learner/org/dllearner/examples/ Added: trunk/resources/architecture_celoe.eps =================================================================== --- trunk/resources/architecture_celoe.eps (rev 0) +++ trunk/resources/architecture_celoe.eps 2009-09-23 08:49:32 UTC (rev 1855) @@ -0,0 +1,7647 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.46 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 39 318 530 678 +%%HiResBoundingBox: 39.999999 318.4572 529.04331 677.77121 +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 1 0 28] concat +gsave [1 0 0 1 0 0] concat +gsave +1 0.83137256 0.16470589 setrgbcolor +newpath +50.494846 177.64302 moveto +299.50516 177.64302 lineto +299.50516 266.65333 lineto +50.494846 266.65333 lineto +50.494846 177.64302 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +0.98969221 setlinewidth +1 setlinejoin +0 setlinecap +newpath +50.494846 177.64302 moveto +299.50516 177.64302 lineto +299.50516 266.65333 lineto +50.494846 266.65333 lineto +50.494846 177.64302 lineto +closepath +stroke +grestore +gsave +0 0 0 setrgbcolor +newpath +80.191269 198.87767 moveto +80.19126 197.68822 79.945167 196.75658 79.452988 196.08275 curveto +78.966652 195.40307 78.295754 195.06323 77.440292 195.06322 curveto +76.584818 195.06323 75.910991 195.40307 75.418808 196.08275 curveto +74.932476 196.75658 74.689313 197.68822 74.689316 198.87767 curveto +74.689313 200.06713 74.932476 201.0017 75.418808 201.68138 curveto +75.910991 202.35521 76.584818 202.69212 77.440292 202.69212 curveto +78.295754 202.69212 78.966652 202.35521 79.452988 201.68138 curveto +79.945167 201.0017 80.19126 200.06713 80.191269 198.87767 curveto +74.689316 195.44115 moveto +75.029156 194.85522 75.45689 194.42162 75.972519 194.14037 curveto +76.493998 193.85327 77.115091 193.70971 77.8358 193.7097 curveto +79.031105 193.70971 80.000831 194.18432 80.74498 195.13353 curveto +81.49497 196.08276 81.869969 197.3308 81.86998 198.87767 curveto +81.869969 200.42455 81.49497 201.67259 80.74498 202.62181 curveto +80.000831 203.57103 79.031105 204.04564 77.8358 204.04564 curveto +77.115091 204.04564 76.493998 203.90501 75.972519 203.62376 curveto +75.45689 203.33666 75.029156 202.90013 74.689316 202.31419 curveto +74.689316 203.79076 lineto +73.063339 203.79076 lineto +73.063339 190.11497 lineto +74.689316 190.11497 lineto +74.689316 195.44115 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +89.024277 198.84251 moveto +87.717631 198.84252 86.812359 198.99193 86.308456 199.29076 curveto +85.804547 199.58959 85.552594 200.09935 85.552597 200.82005 curveto +85.552594 201.39427 85.740094 201.85131 86.115097 202.19115 curveto +86.495953 202.52513 87.011577 202.69212 87.661972 202.69212 curveto +88.558451 202.69212 89.276223 202.37572 89.815292 201.7429 curveto +90.360207 201.10424 90.632667 200.25756 90.632675 199.20287 curveto +90.632675 198.84251 lineto +89.024277 198.84251 lineto +92.249863 198.17455 moveto +92.249863 203.79076 lineto +90.632675 203.79076 lineto +90.632675 202.29662 lineto +90.263527 202.89427 89.803567 203.33666 89.252792 203.62376 curveto +88.702005 203.90501 88.028178 204.04564 87.231308 204.04564 curveto +86.223492 204.04564 85.420759 203.76439 84.823105 203.20189 curveto +84.231307 202.63353 83.935408 201.87474 83.93541 200.92552 curveto +83.935408 199.8181 84.304549 198.98314 85.042831 198.42064 curveto +85.786969 197.85814 86.89439 197.5769 88.365097 197.57689 curveto +90.632675 197.57689 lineto +90.632675 197.41869 lineto +90.632667 196.67455 90.386574 196.10033 89.894394 195.69603 curveto +89.408059 195.28588 88.722513 195.0808 87.837753 195.0808 curveto +87.275249 195.0808 86.727398 195.14819 86.194199 195.28294 curveto +85.660993 195.41772 85.148298 195.61987 84.656113 195.88939 curveto +84.656113 194.39525 lineto +85.247907 194.16674 85.822125 193.99682 86.378769 193.88548 curveto +86.935405 193.76831 87.477397 193.70971 88.004745 193.7097 curveto +89.428567 193.70971 90.492043 194.07885 91.195175 194.81712 curveto +91.898291 195.55541 92.249853 196.67455 92.249863 198.17455 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +102.67369 194.32494 moveto +102.67369 195.83665 lineto +102.21665 195.58471 101.75669 195.39721 101.29381 195.27415 curveto +100.83677 195.14526 100.37388 195.0808 99.905136 195.0808 curveto +98.856303 195.0808 98.041851 195.41479 97.461777 196.08275 curveto +96.881696 196.74486 96.591657 197.6765 96.59166 198.87767 curveto +96.591657 200.07885 96.881696 201.01342 97.461777 201.68138 curveto +98.041851 202.34349 98.856303 202.67455 99.905136 202.67455 curveto +100.37388 202.67455 100.83677 202.61302 101.29381 202.48997 curveto +101.75669 202.36107 102.21665 202.17064 102.67369 201.91869 curveto +102.67369 203.41283 lineto +102.22251 203.62376 101.75376 203.78197 101.26744 203.88744 curveto +100.78697 203.9929 100.27427 204.04564 99.729355 204.04564 curveto +98.246929 204.04564 97.069195 203.57982 96.196152 202.64818 curveto +95.323103 201.71654 94.88658 200.4597 94.886581 198.87767 curveto +94.88658 197.27221 95.326033 196.00951 96.204941 195.08958 curveto +97.089703 194.16967 98.299663 193.70971 99.834824 193.7097 curveto +100.33286 193.70971 100.81919 193.76245 101.29381 193.8679 curveto +101.76841 193.96752 102.22837 194.11987 102.67369 194.32494 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +105.44225 190.11497 moveto +107.06822 190.11497 lineto +107.06822 198.19212 lineto +111.89342 193.94701 lineto +113.95885 193.94701 lineto +108.73814 198.55247 lineto +114.17857 203.79076 lineto +112.0692 203.79076 lineto +107.06822 198.98314 lineto +107.06822 203.79076 lineto +105.44225 203.79076 lineto +105.44225 190.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +122.42271 198.75462 moveto +122.42271 197.58275 122.17954 196.67455 121.69322 196.03001 curveto +121.21275 195.38549 120.53599 195.06323 119.66295 195.06322 curveto +118.79576 195.06323 118.119 195.38549 117.63268 196.03001 curveto +117.1522 196.67455 116.91197 197.58275 116.91197 198.75462 curveto +116.91197 199.92064 117.1522 200.82592 117.63268 201.47044 curveto +118.119 202.11498 118.79576 202.43724 119.66295 202.43724 curveto +120.53599 202.43724 121.21275 202.11498 121.69322 201.47044 curveto +122.17954 200.82592 122.42271 199.92064 122.42271 198.75462 curveto +124.0399 202.56908 moveto +124.03989 204.24486 123.66782 205.48997 122.92369 206.30443 curveto +122.17954 207.12474 121.03989 207.53489 119.50475 207.5349 curveto +118.93638 207.53489 118.40025 207.49095 117.89635 207.40306 curveto +117.39244 207.32103 116.90318 207.19212 116.42857 207.01634 curveto +116.42857 205.4431 lineto +116.90318 205.70091 117.37193 205.89134 117.83482 206.01439 curveto +118.29771 206.13743 118.76939 206.19896 119.24986 206.19896 curveto +120.3104 206.19896 121.10435 205.92064 121.6317 205.364 curveto +122.15903 204.81322 122.42271 203.97826 122.42271 202.85912 curveto +122.42271 202.05931 lineto +122.08872 202.63939 121.66099 203.07298 121.13951 203.36009 curveto +120.61802 203.6472 119.994 203.79076 119.26744 203.79076 curveto +118.06041 203.79076 117.08775 203.3308 116.34947 202.41087 curveto +115.61119 201.49095 115.24205 200.27221 115.24205 198.75462 curveto +115.24205 197.23119 115.61119 196.00951 116.34947 195.08958 curveto +117.08775 194.16967 118.06041 193.70971 119.26744 193.7097 curveto +119.994 193.70971 120.61802 193.85327 121.13951 194.14037 curveto +121.66099 194.42748 122.08872 194.86108 122.42271 195.44115 curveto +122.42271 193.94701 lineto +124.0399 193.94701 lineto +124.0399 202.56908 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +133.07506 195.45872 moveto +132.89341 195.35326 132.69419 195.27709 132.4774 195.23021 curveto +132.26646 195.17748 132.03208 195.15112 131.77428 195.15111 curveto +130.86021 195.15112 130.15708 195.44994 129.6649 196.04759 curveto +129.17857 196.6394 128.93541 197.49193 128.93541 198.60521 curveto +128.93541 203.79076 lineto +127.30943 203.79076 lineto +127.30943 193.94701 lineto +128.93541 193.94701 lineto +128.93541 195.4763 lineto +129.27525 194.87866 129.71763 194.43627 130.26256 194.14915 curveto +130.80747 193.8562 131.46958 193.70971 132.24889 193.7097 curveto +132.36021 193.70971 132.48325 193.7185 132.61803 193.73607 curveto +132.75279 193.7478 132.9022 193.76831 133.06627 193.79759 curveto +133.07506 195.45872 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +138.21666 195.0808 moveto +137.34947 195.0808 136.66392 195.42065 136.16002 196.10033 curveto +135.65611 196.77416 135.40416 197.69994 135.40416 198.87767 curveto +135.40416 200.05541 135.65318 200.98412 136.15123 201.6638 curveto +136.65513 202.33763 137.34361 202.67455 138.21666 202.67455 curveto +139.07798 202.67455 139.7606 202.3347 140.26451 201.65501 curveto +140.76841 200.97533 141.02036 200.04955 141.02037 198.87767 curveto +141.02036 197.71166 140.76841 196.78881 140.26451 196.10912 curveto +139.7606 195.42358 139.07798 195.0808 138.21666 195.0808 curveto +138.21666 193.7097 moveto +139.6229 193.70971 140.72739 194.16674 141.53014 195.0808 curveto +142.33286 195.99487 142.73423 197.26049 142.73424 198.87767 curveto +142.73423 200.489 142.33286 201.75463 141.53014 202.67455 curveto +140.72739 203.58861 139.6229 204.04564 138.21666 204.04564 curveto +136.80455 204.04564 135.69713 203.58861 134.89439 202.67455 curveto +134.09752 201.75463 133.69908 200.489 133.69908 198.87767 curveto +133.69908 197.26049 134.09752 195.99487 134.89439 195.0808 curveto +135.69713 194.16674 136.80455 193.70971 138.21666 193.7097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +145.23912 199.90599 moveto +145.23912 193.94701 lineto +146.85631 193.94701 lineto +146.85631 199.84447 lineto +146.8563 200.77611 147.03795 201.47631 147.40123 201.94505 curveto +147.76451 202.40795 148.30943 202.63939 149.036 202.63939 curveto +149.90904 202.63939 150.59751 202.36107 151.10143 201.80443 curveto +151.61118 201.24779 151.86607 200.489 151.86607 199.52806 curveto +151.86607 193.94701 lineto +153.48326 193.94701 lineto +153.48326 203.79076 lineto +151.86607 203.79076 lineto +151.86607 202.27904 lineto +151.47349 202.87669 151.01646 203.32201 150.49498 203.61497 curveto +149.97935 203.90208 149.37876 204.04564 148.69322 204.04564 curveto +147.56236 204.04564 146.70396 203.69408 146.11803 202.99095 curveto +145.53209 202.28783 145.23912 201.25951 145.23912 199.90599 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +165.01451 197.84935 moveto +165.01451 203.79076 lineto +163.39732 203.79076 lineto +163.39732 197.90208 lineto +163.39732 196.97045 163.21567 196.27319 162.8524 195.81029 curveto +162.48911 195.34741 161.94419 195.11596 161.21764 195.11595 curveto +160.34458 195.11596 159.65611 195.39428 159.15221 195.95091 curveto +158.6483 196.50756 158.39634 197.26635 158.39635 198.22728 curveto +158.39635 203.79076 lineto +156.77037 203.79076 lineto +156.77037 193.94701 lineto +158.39635 193.94701 lineto +158.39635 195.4763 lineto +158.78306 194.88452 159.23716 194.44213 159.75865 194.14915 curveto +160.28599 193.8562 160.89244 193.70971 161.57799 193.7097 curveto +162.70884 193.70971 163.56431 194.06127 164.14439 194.76439 curveto +164.72446 195.46166 165.0145 196.48998 165.01451 197.84935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +174.73521 195.44115 moveto +174.73521 190.11497 lineto +176.3524 190.11497 lineto +176.3524 203.79076 lineto +174.73521 203.79076 lineto +174.73521 202.31419 lineto +174.39536 202.90013 173.9647 203.33666 173.44322 203.62376 curveto +172.92759 203.90501 172.3065 204.04564 171.57994 204.04564 curveto +170.39048 204.04564 169.42076 203.57103 168.67076 202.62181 curveto +167.92662 201.67259 167.55455 200.42455 167.55455 198.87767 curveto +167.55455 197.3308 167.92662 196.08276 168.67076 195.13353 curveto +169.42076 194.18432 170.39048 193.70971 171.57994 193.7097 curveto +172.3065 193.70971 172.92759 193.85327 173.44322 194.14037 curveto +173.9647 194.42162 174.39536 194.85522 174.73521 195.44115 curveto +169.22447 198.87767 moveto +169.22447 200.06713 169.46763 201.0017 169.95396 201.68138 curveto +170.44615 202.35521 171.11998 202.69212 171.97545 202.69212 curveto +172.83091 202.69212 173.50474 202.35521 173.99693 201.68138 curveto +174.48911 201.0017 174.73521 200.06713 174.73521 198.87767 curveto +174.73521 197.68822 174.48911 196.75658 173.99693 196.08275 curveto +173.50474 195.40307 172.83091 195.06323 171.97545 195.06322 curveto +171.11998 195.06323 170.44615 195.40307 169.95396 196.08275 curveto +169.46763 196.75658 169.22447 197.68822 169.22447 198.87767 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +185.3524 190.11497 moveto +186.97838 190.11497 lineto +186.97838 198.19212 lineto +191.80357 193.94701 lineto +193.869 193.94701 lineto +188.6483 198.55247 lineto +194.08873 203.79076 lineto +191.97935 203.79076 lineto +186.97838 198.98314 lineto +186.97838 203.79076 lineto +185.3524 203.79076 lineto +185.3524 190.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +204.03795 197.84935 moveto +204.03795 203.79076 lineto +202.42076 203.79076 lineto +202.42076 197.90208 lineto +202.42075 196.97045 202.23911 196.27319 201.87584 195.81029 curveto +201.51255 195.34741 200.96763 195.11596 200.24107 195.11595 curveto +199.36802 195.11596 198.67955 195.39428 198.17564 195.95091 curveto +197.67173 196.50756 197.41978 197.26635 197.41978 198.22728 curveto +197.41978 203.79076 lineto +195.79381 203.79076 lineto +195.79381 193.94701 lineto +197.41978 193.94701 lineto +197.41978 195.4763 lineto +197.8065 194.88452 198.2606 194.44213 198.78209 194.14915 curveto +199.30943 193.8562 199.91587 193.70971 200.60143 193.7097 curveto +201.73228 193.70971 202.58774 194.06127 203.16783 194.76439 curveto +203.7479 195.46166 204.03794 196.48998 204.03795 197.84935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +211.09557 195.0808 moveto +210.22837 195.0808 209.54283 195.42065 209.03893 196.10033 curveto +208.53502 196.77416 208.28306 197.69994 208.28307 198.87767 curveto +208.28306 200.05541 208.53209 200.98412 209.03014 201.6638 curveto +209.53404 202.33763 210.22251 202.67455 211.09557 202.67455 curveto +211.95689 202.67455 212.6395 202.3347 213.14342 201.65501 curveto +213.64732 200.97533 213.89927 200.04955 213.89928 198.87767 curveto +213.89927 197.71166 213.64732 196.78881 213.14342 196.10912 curveto +212.6395 195.42358 211.95689 195.0808 211.09557 195.0808 curveto +211.09557 193.7097 moveto +212.50181 193.70971 213.6063 194.16674 214.40904 195.0808 curveto +215.21177 195.99487 215.61313 197.26049 215.61314 198.87767 curveto +215.61313 200.489 215.21177 201.75463 214.40904 202.67455 curveto +213.6063 203.58861 212.50181 204.04564 211.09557 204.04564 curveto +209.68345 204.04564 208.57603 203.58861 207.7733 202.67455 curveto +206.97642 201.75463 206.57799 200.489 206.57799 198.87767 curveto +206.57799 197.26049 206.97642 195.99487 207.7733 195.0808 curveto +208.57603 194.16674 209.68345 193.70971 211.09557 193.7097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +217.34459 193.94701 moveto +218.96178 193.94701 lineto +220.98326 201.62865 lineto +222.99596 193.94701 lineto +224.90318 193.94701 lineto +226.92467 201.62865 lineto +228.93736 193.94701 lineto +230.55455 193.94701 lineto +227.97935 203.79076 lineto +226.07213 203.79076 lineto +223.95396 195.7224 lineto +221.82701 203.79076 lineto +219.91978 203.79076 lineto +217.34459 193.94701 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +233.01549 190.11497 moveto +234.63268 190.11497 lineto +234.63268 203.79076 lineto +233.01549 203.79076 lineto +233.01549 190.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +246.4276 198.46458 moveto +246.4276 199.2556 lineto +238.99205 199.2556 lineto +239.06236 200.36888 239.39634 201.21849 239.994 201.80443 curveto +240.59751 202.38451 241.4354 202.67455 242.50768 202.67455 curveto +243.12876 202.67455 243.72935 202.59837 244.30943 202.44603 curveto +244.89536 202.29369 245.47544 202.06517 246.04967 201.76048 curveto +246.04967 203.28978 lineto +245.46958 203.53587 244.87485 203.72337 244.26549 203.85228 curveto +243.65611 203.98119 243.03794 204.04564 242.411 204.04564 curveto +240.84068 204.04564 239.59556 203.58861 238.67564 202.67455 curveto +237.76158 201.76048 237.30455 200.52416 237.30455 198.96556 curveto +237.30455 197.35424 237.73814 196.0769 238.60533 195.13353 curveto +239.47838 194.18432 240.65318 193.70971 242.12975 193.7097 curveto +243.45396 193.70971 244.49985 194.13745 245.26744 194.9929 curveto +246.04087 195.84252 246.42759 196.99975 246.4276 198.46458 curveto +244.81041 197.98997 moveto +244.79868 197.10522 244.54966 196.39916 244.06334 195.87181 curveto +243.58286 195.34448 242.94419 195.0808 242.14732 195.0808 curveto +241.24497 195.0808 240.52134 195.33569 239.97643 195.84544 curveto +239.43736 196.35522 239.12681 197.07299 239.04478 197.99876 curveto +244.81041 197.98997 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +255.55943 195.44115 moveto +255.55943 190.11497 lineto +257.17662 190.11497 lineto +257.17662 203.79076 lineto +255.55943 203.79076 lineto +255.55943 202.31419 lineto +255.21958 202.90013 254.78892 203.33666 254.26744 203.62376 curveto +253.75181 203.90501 253.13072 204.04564 252.40416 204.04564 curveto +251.2147 204.04564 250.24498 203.57103 249.49498 202.62181 curveto +248.75084 201.67259 248.37877 200.42455 248.37877 198.87767 curveto +248.37877 197.3308 248.75084 196.08276 249.49498 195.13353 curveto +250.24498 194.18432 251.2147 193.70971 252.40416 193.7097 curveto +253.13072 193.70971 253.75181 193.85327 254.26744 194.14037 curveto +254.78892 194.42162 255.21958 194.85522 255.55943 195.44115 curveto +250.04869 198.87767 moveto +250.04869 200.06713 250.29185 201.0017 250.77818 201.68138 curveto +251.27037 202.35521 251.94419 202.69212 252.79967 202.69212 curveto +253.65513 202.69212 254.32896 202.35521 254.82115 201.68138 curveto +255.31333 201.0017 255.55942 200.06713 255.55943 198.87767 curveto +255.55942 197.68822 255.31333 196.75658 254.82115 196.08275 curveto +254.32896 195.40307 253.65513 195.06323 252.79967 195.06322 curveto +251.94419 195.06323 251.27037 195.40307 250.77818 196.08275 curveto +250.29185 196.75658 250.04869 197.68822 250.04869 198.87767 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +266.98521 198.75462 moveto +266.98521 197.58275 266.74204 196.67455 266.25572 196.03001 curveto +265.77525 195.38549 265.09849 195.06323 264.22545 195.06322 curveto +263.35826 195.06323 262.6815 195.38549 262.19518 196.03001 curveto +261.7147 196.67455 261.47447 197.58275 261.47447 198.75462 curveto +261.47447 199.92064 261.7147 200.82592 262.19518 201.47044 curveto +262.6815 202.11498 263.35826 202.43724 264.22545 202.43724 curveto +265.09849 202.43724 265.77525 202.11498 266.25572 201.47044 curveto +266.74204 200.82592 266.98521 199.92064 266.98521 198.75462 curveto +268.6024 202.56908 moveto +268.60239 204.24486 268.23032 205.48997 267.48619 206.30443 curveto +266.74204 207.12474 265.60239 207.53489 264.06725 207.5349 curveto +263.49888 207.53489 262.96275 207.49095 262.45885 207.40306 curveto +261.95494 207.32103 261.46568 207.19212 260.99107 207.01634 curveto +260.99107 205.4431 lineto +261.46568 205.70091 261.93443 205.89134 262.39732 206.01439 curveto +262.86021 206.13743 263.33189 206.19896 263.81236 206.19896 curveto +264.8729 206.19896 265.66685 205.92064 266.1942 205.364 curveto +266.72153 204.81322 266.98521 203.97826 266.98521 202.85912 curveto +266.98521 202.05931 lineto +266.65122 202.63939 266.22349 203.07298 265.70201 203.36009 curveto +265.18052 203.6472 264.5565 203.79076 263.82994 203.79076 curveto +262.62291 203.79076 261.65025 203.3308 260.91197 202.41087 curveto +260.17369 201.49095 259.80455 200.27221 259.80455 198.75462 curveto +259.80455 197.23119 260.17369 196.00951 260.91197 195.08958 curveto +261.65025 194.16967 262.62291 193.70971 263.82994 193.7097 curveto +264.5565 193.70971 265.18052 193.85327 265.70201 194.14037 curveto +266.22349 194.42748 266.65122 194.86108 266.98521 195.44115 curveto +266.98521 193.94701 lineto +268.6024 193.94701 lineto +268.6024 202.56908 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +280.35338 198.46458 moveto +280.35338 199.2556 lineto +272.91783 199.2556 lineto +272.98814 200.36888 273.32213 201.21849 273.91978 201.80443 curveto +274.5233 202.38451 275.36119 202.67455 276.43346 202.67455 curveto +277.05454 202.67455 277.65513 202.59837 278.23521 202.44603 curveto +278.82114 202.29369 279.40122 202.06517 279.97545 201.76048 curveto +279.97545 203.28978 lineto +279.39536 203.53587 278.80064 203.72337 278.19127 203.85228 curveto +277.58189 203.98119 276.96372 204.04564 276.33678 204.04564 curveto +274.76646 204.04564 273.52134 203.58861 272.60143 202.67455 curveto +271.68736 201.76048 271.23033 200.52416 271.23033 198.96556 curveto +271.23033 197.35424 271.66392 196.0769 272.53111 195.13353 curveto +273.40416 194.18432 274.57896 193.70971 276.05553 193.7097 curveto +277.37974 193.70971 278.42564 194.13745 279.19322 194.9929 curveto +279.96665 195.84252 280.35337 196.99975 280.35338 198.46458 curveto +278.73619 197.98997 moveto +278.72446 197.10522 278.47544 196.39916 277.98912 195.87181 curveto +277.50864 195.34448 276.86997 195.0808 276.0731 195.0808 curveto +275.17076 195.0808 274.44712 195.33569 273.90221 195.84544 curveto +273.36314 196.35522 273.05259 197.07299 272.97057 197.99876 curveto +278.73619 197.98997 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +94.201035 212.63255 moveto +93.415874 213.98022 92.832866 215.31323 92.452011 216.63158 curveto +92.071148 217.94994 91.880719 219.28588 91.880722 220.63939 curveto +91.880719 221.99291 92.071148 223.3347 92.452011 224.66478 curveto +92.838726 225.989 93.421733 227.32201 94.201035 228.6638 curveto +92.794785 228.6638 lineto +91.915875 227.28685 91.256696 225.93333 90.817245 224.60326 curveto +90.38365 223.27318 90.166853 221.95189 90.166855 220.63939 curveto +90.166853 219.33276 90.38365 218.01733 90.817245 216.6931 curveto +91.250837 215.36889 91.910016 214.01538 92.794785 212.63255 curveto +94.201035 212.63255 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +102.744 214.37279 moveto +101.45493 214.3728 100.42955 214.85327 99.667831 215.81419 curveto +98.911969 216.77514 98.534039 218.08471 98.534042 219.7429 curveto +98.534039 221.39525 98.911969 222.70189 99.667831 223.66283 curveto +100.42955 224.62377 101.45493 225.10423 102.744 225.10423 curveto +104.03306 225.10423 105.05259 224.62377 105.8026 223.66283 curveto +106.55845 222.70189 106.93637 221.39525 106.93639 219.7429 curveto +106.93637 218.08471 106.55845 216.77514 105.8026 215.81419 curveto +105.05259 214.85327 104.03306 214.3728 102.744 214.37279 curveto +102.744 212.93138 moveto +104.58384 212.93139 106.05454 213.54956 107.15611 214.78587 curveto +108.25766 216.01635 108.80844 217.66869 108.80846 219.7429 curveto +108.80844 221.81127 108.25766 223.46361 107.15611 224.69994 curveto +106.05454 225.93041 104.58384 226.54564 102.744 226.54564 curveto +100.89829 226.54564 99.421734 225.93041 98.314316 224.69994 curveto +97.212752 223.46947 96.661971 221.81713 96.661972 219.7429 curveto +96.661971 217.66869 97.212752 216.01635 98.314316 214.78587 curveto +99.421734 213.54956 100.89829 212.93139 102.744 212.93138 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +110.41685 213.16869 moveto +112.20982 213.16869 lineto +114.96959 224.26048 lineto +117.72057 213.16869 lineto +119.71568 213.16869 lineto +122.47545 224.26048 lineto +125.22643 213.16869 lineto +127.02818 213.16869 lineto +123.73228 226.29076 lineto +121.49986 226.29076 lineto +118.73131 214.90013 lineto +115.93639 226.29076 lineto +113.70396 226.29076 lineto +110.41685 213.16869 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +129.37486 213.16869 moveto +131.15025 213.16869 lineto +131.15025 224.79662 lineto +137.5399 224.79662 lineto +137.5399 226.29076 lineto +129.37486 226.29076 lineto +129.37486 213.16869 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +148.869 217.5808 moveto +148.00181 217.5808 147.31626 217.92065 146.81236 218.60033 curveto +146.30845 219.27416 146.0565 220.19994 146.0565 221.37767 curveto +146.0565 222.55541 146.30552 223.48412 146.80357 224.1638 curveto +147.30748 224.83763 147.99595 225.17455 148.869 225.17455 curveto +149.73033 225.17455 150.41294 224.8347 150.91685 224.15501 curveto +151.42075 223.47533 151.67271 222.54955 151.67271 221.37767 curveto +151.67271 220.21166 151.42075 219.28881 150.91685 218.60912 curveto +150.41294 217.92358 149.73033 217.5808 148.869 217.5808 curveto +148.869 216.2097 moveto +150.27525 216.20971 151.37974 216.66674 152.18248 217.5808 curveto +152.9852 218.49487 153.38657 219.76049 153.38658 221.37767 curveto +153.38657 222.989 152.9852 224.25463 152.18248 225.17455 curveto +151.37974 226.08861 150.27525 226.54564 148.869 226.54564 curveto +147.45689 226.54564 146.34947 226.08861 145.54674 225.17455 curveto +144.74986 224.25463 144.35142 222.989 144.35143 221.37767 curveto +144.35142 219.76049 144.74986 218.49487 145.54674 217.5808 curveto +146.34947 216.66674 147.45689 216.20971 148.869 216.2097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +164.24107 220.34935 moveto +164.24107 226.29076 lineto +162.62389 226.29076 lineto +162.62389 220.40208 lineto +162.62388 219.47045 162.44224 218.77319 162.07896 218.31029 curveto +161.71568 217.84741 161.17075 217.61596 160.4442 217.61595 curveto +159.57115 217.61596 158.88267 217.89428 158.37877 218.45091 curveto +157.87486 219.00756 157.62291 219.76635 157.62291 220.72728 curveto +157.62291 226.29076 lineto +155.99693 226.29076 lineto +155.99693 216.44701 lineto +157.62291 216.44701 lineto +157.62291 217.9763 lineto +158.00962 217.38452 158.46373 216.94213 158.98521 216.64915 curveto +159.51255 216.3562 160.119 216.20971 160.80455 216.2097 curveto +161.9354 216.20971 162.79087 216.56127 163.37096 217.26439 curveto +163.95102 217.96166 164.24106 218.98998 164.24107 220.34935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +169.08385 213.65208 moveto +169.08385 216.44701 lineto +172.4149 216.44701 lineto +172.4149 217.70384 lineto +169.08385 217.70384 lineto +169.08385 223.04759 lineto +169.08384 223.85033 169.19224 224.36595 169.40904 224.59447 curveto +169.63169 224.82298 170.07994 224.93724 170.75377 224.93724 curveto +172.4149 224.93724 lineto +172.4149 226.29076 lineto +170.75377 226.29076 lineto +169.50572 226.29076 168.64439 226.05931 168.16978 225.59642 curveto +167.69517 225.12767 167.45787 224.27806 167.45787 223.04759 curveto +167.45787 217.70384 lineto +166.27135 217.70384 lineto +166.27135 216.44701 lineto +167.45787 216.44701 lineto +167.45787 213.65208 lineto +169.08385 213.65208 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +178.3651 217.5808 moveto +177.4979 217.5808 176.81236 217.92065 176.30846 218.60033 curveto +175.80455 219.27416 175.55259 220.19994 175.5526 221.37767 curveto +175.55259 222.55541 175.80162 223.48412 176.29967 224.1638 curveto +176.80357 224.83763 177.49205 225.17455 178.3651 225.17455 curveto +179.22642 225.17455 179.90904 224.8347 180.41295 224.15501 curveto +180.91685 223.47533 181.1688 222.54955 181.16881 221.37767 curveto +181.1688 220.21166 180.91685 219.28881 180.41295 218.60912 curveto +179.90904 217.92358 179.22642 217.5808 178.3651 217.5808 curveto +178.3651 216.2097 moveto +179.77134 216.20971 180.87583 216.66674 181.67857 217.5808 curveto +182.4813 218.49487 182.88267 219.76049 182.88268 221.37767 curveto +182.88267 222.989 182.4813 224.25463 181.67857 225.17455 curveto +180.87583 226.08861 179.77134 226.54564 178.3651 226.54564 curveto +176.95298 226.54564 175.84556 226.08861 175.04283 225.17455 curveto +174.24596 224.25463 173.84752 222.989 173.84752 221.37767 curveto +173.84752 219.76049 174.24596 218.49487 175.04283 217.5808 curveto +175.84556 216.66674 176.95298 216.20971 178.3651 216.2097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +185.55455 212.61497 moveto +187.17174 212.61497 lineto +187.17174 226.29076 lineto +185.55455 226.29076 lineto +185.55455 212.61497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +194.36119 217.5808 moveto +193.494 217.5808 192.80845 217.92065 192.30455 218.60033 curveto +191.80064 219.27416 191.54869 220.19994 191.54869 221.37767 curveto +191.54869 222.55541 191.79771 223.48412 192.29576 224.1638 curveto +192.79966 224.83763 193.48814 225.17455 194.36119 225.17455 curveto +195.22251 225.17455 195.90513 224.8347 196.40904 224.15501 curveto +196.91294 223.47533 197.16489 222.54955 197.1649 221.37767 curveto +197.16489 220.21166 196.91294 219.28881 196.40904 218.60912 curveto +195.90513 217.92358 195.22251 217.5808 194.36119 217.5808 curveto +194.36119 216.2097 moveto +195.76743 216.20971 196.87192 216.66674 197.67467 217.5808 curveto +198.47739 218.49487 198.87876 219.76049 198.87877 221.37767 curveto +198.87876 222.989 198.47739 224.25463 197.67467 225.17455 curveto +196.87192 226.08861 195.76743 226.54564 194.36119 226.54564 curveto +192.94908 226.54564 191.84166 226.08861 191.03893 225.17455 curveto +190.24205 224.25463 189.84361 222.989 189.84361 221.37767 curveto +189.84361 219.76049 190.24205 218.49487 191.03893 217.5808 curveto +191.84166 216.66674 192.94908 216.20971 194.36119 216.2097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +208.02818 221.25462 moveto +208.02817 220.08275 207.78501 219.17455 207.29869 218.53001 curveto +206.81822 217.88549 206.14146 217.56323 205.26842 217.56322 curveto +204.40123 217.56323 203.72447 217.88549 203.23814 218.53001 curveto +202.75767 219.17455 202.51744 220.08275 202.51744 221.25462 curveto +202.51744 222.42064 202.75767 223.32592 203.23814 223.97044 curveto +203.72447 224.61498 204.40123 224.93724 205.26842 224.93724 curveto +206.14146 224.93724 206.81822 224.61498 207.29869 223.97044 curveto +207.78501 223.32592 208.02817 222.42064 208.02818 221.25462 curveto +209.64537 225.06908 moveto +209.64536 226.74486 209.27329 227.98997 208.52916 228.80443 curveto +207.78501 229.62474 206.64536 230.03489 205.11021 230.0349 curveto +204.54185 230.03489 204.00572 229.99095 203.50182 229.90306 curveto +202.99791 229.82103 202.50865 229.69212 202.03404 229.51634 curveto +202.03404 227.9431 lineto +202.50865 228.20091 202.9774 228.39134 203.44029 228.51439 curveto +203.90318 228.63743 204.37486 228.69896 204.85533 228.69896 curveto +205.91587 228.69896 206.70982 228.42064 207.23717 227.864 curveto +207.7645 227.31322 208.02817 226.47826 208.02818 225.35912 curveto +208.02818 224.55931 lineto +207.69419 225.13939 207.26646 225.57298 206.74498 225.86009 curveto +206.22349 226.1472 205.59947 226.29076 204.87291 226.29076 curveto +203.66587 226.29076 202.69322 225.8308 201.95494 224.91087 curveto +201.21666 223.99095 200.84752 222.77221 200.84752 221.25462 curveto +200.84752 219.73119 201.21666 218.50951 201.95494 217.58958 curveto +202.69322 216.66967 203.66587 216.20971 204.87291 216.2097 curveto +205.59947 216.20971 206.22349 216.35327 206.74498 216.64037 curveto +207.26646 216.92748 207.69419 217.36108 208.02818 217.94115 curveto +208.02818 216.44701 lineto +209.64537 216.44701 lineto +209.64537 225.06908 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +217.07213 227.20482 moveto +216.61509 228.37669 216.16978 229.14134 215.73619 229.49876 curveto +215.30259 229.85618 214.72252 230.03489 213.99596 230.0349 curveto +212.70396 230.0349 lineto +212.70396 228.68138 lineto +213.65318 228.68138 lineto +214.09849 228.68138 214.4442 228.57591 214.69029 228.36497 curveto +214.93638 228.15404 215.20884 227.65599 215.50768 226.87083 curveto +215.79771 226.13255 lineto +211.81627 216.44701 lineto +213.53014 216.44701 lineto +216.60631 224.14622 lineto +219.68248 216.44701 lineto +221.39635 216.44701 lineto +217.07213 227.20482 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +233.17369 217.5808 moveto +232.3065 217.5808 231.62095 217.92065 231.11705 218.60033 curveto +230.61314 219.27416 230.36119 220.19994 230.36119 221.37767 curveto +230.36119 222.55541 230.61021 223.48412 231.10826 224.1638 curveto +231.61216 224.83763 232.30064 225.17455 233.17369 225.17455 curveto +234.03501 225.17455 234.71763 224.8347 235.22154 224.15501 curveto +235.72544 223.47533 235.97739 222.54955 235.9774 221.37767 curveto +235.97739 220.21166 235.72544 219.28881 235.22154 218.60912 curveto +234.71763 217.92358 234.03501 217.5808 233.17369 217.5808 curveto +233.17369 216.2097 moveto +234.57993 216.20971 235.68442 216.66674 236.48717 217.5808 curveto +237.28989 218.49487 237.69126 219.76049 237.69127 221.37767 curveto +237.69126 222.989 237.28989 224.25463 236.48717 225.17455 curveto +235.68442 226.08861 234.57993 226.54564 233.17369 226.54564 curveto +231.76158 226.54564 230.65416 226.08861 229.85143 225.17455 curveto +229.05455 224.25463 228.65611 222.989 228.65611 221.37767 curveto +228.65611 219.76049 229.05455 218.49487 229.85143 217.5808 curveto +230.65416 216.66674 231.76158 216.20971 233.17369 216.2097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +246.06725 217.95872 moveto +245.8856 217.85326 245.68638 217.77709 245.46959 217.73021 curveto +245.25865 217.67748 245.02427 217.65112 244.76646 217.65111 curveto +243.8524 217.65112 243.14927 217.94994 242.65709 218.54759 curveto +242.17076 219.1394 241.92759 219.99193 241.9276 221.10521 curveto +241.9276 226.29076 lineto +240.30162 226.29076 lineto +240.30162 216.44701 lineto +241.9276 216.44701 lineto +241.9276 217.9763 lineto +242.26744 217.37866 242.70982 216.93627 243.25475 216.64915 curveto +243.79966 216.3562 244.46177 216.20971 245.24107 216.2097 curveto +245.3524 216.20971 245.47544 216.2185 245.61021 216.23607 curveto +245.74497 216.2478 245.89439 216.26831 246.05846 216.29759 curveto +246.06725 217.95872 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +103.98326 236.09935 moveto +103.98326 237.8308 lineto +103.30942 237.50854 102.67368 237.26831 102.07603 237.11009 curveto +101.47837 236.9519 100.90122 236.8728 100.34459 236.87279 curveto +99.377787 236.8728 98.630718 237.0603 98.103378 237.43529 curveto +97.581891 237.8103 97.321149 238.3435 97.321152 239.0349 curveto +97.321149 239.61498 97.494 240.05444 97.839706 240.35326 curveto +98.191265 240.64623 98.853374 240.88354 99.826035 241.06517 curveto +100.8983 241.2849 lineto +102.22251 241.53686 103.1981 241.98217 103.82506 242.62083 curveto +104.45786 243.25365 104.77427 244.10326 104.77428 245.16966 curveto +104.77427 246.44115 104.34653 247.40502 103.49107 248.06126 curveto +102.64146 248.71751 101.39341 249.04564 99.746933 249.04564 curveto +99.125834 249.04564 98.463726 248.97533 97.760605 248.8347 curveto +97.063337 248.69408 96.339704 248.48607 95.589706 248.21068 curveto +95.589706 246.38255 lineto +96.310408 246.78685 97.016462 247.09154 97.70787 247.29662 curveto +98.399273 247.5017 99.07896 247.60423 99.746933 247.60423 curveto +100.7606 247.60423 101.54282 247.40502 102.09361 247.00658 curveto +102.64439 246.60814 102.91978 246.03978 102.91978 245.3015 curveto +102.91978 244.65697 102.72056 244.15307 102.32213 243.78978 curveto +101.92954 243.4265 101.28208 243.15404 100.37975 242.9724 curveto +99.298691 242.76146 lineto +97.974468 242.49779 97.016462 242.08471 96.424667 241.5222 curveto +95.832869 240.95971 95.536971 240.17748 95.536972 239.17552 curveto +95.536971 238.01538 95.944197 237.10131 96.758652 236.43333 curveto +97.578961 235.76538 98.70689 235.43139 100.14244 235.43138 curveto +100.75767 235.43139 101.38462 235.48706 102.0233 235.59837 curveto +102.66196 235.70971 103.31528 235.87671 103.98326 236.09935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +109.31822 237.12767 moveto +109.31822 242.05833 lineto +111.55064 242.05833 lineto +112.37681 242.05834 113.01548 241.84447 113.46666 241.41673 curveto +113.91782 240.98901 114.14341 240.37963 114.14342 239.58861 curveto +114.14341 238.80346 113.91782 238.19702 113.46666 237.76927 curveto +113.01548 237.34155 112.37681 237.12768 111.55064 237.12767 curveto +109.31822 237.12767 lineto +107.54283 235.66869 moveto +111.55064 235.66869 lineto +113.02134 235.6687 114.13169 236.00268 114.8817 236.67064 curveto +115.63755 237.33276 116.01548 238.30542 116.01549 239.58861 curveto +116.01548 240.88354 115.63755 241.86205 114.8817 242.52415 curveto +114.13169 243.18627 113.02134 243.51732 111.55064 243.51732 curveto +109.31822 243.51732 lineto +109.31822 248.79076 lineto +107.54283 248.79076 lineto +107.54283 235.66869 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +121.6317 237.41771 moveto +119.2235 243.94798 lineto +124.04869 243.94798 lineto +121.6317 237.41771 lineto +120.62975 235.66869 moveto +122.64244 235.66869 lineto +127.64342 248.79076 lineto +125.79771 248.79076 lineto +124.6024 245.42455 lineto +118.68736 245.42455 lineto +117.49205 248.79076 lineto +115.61998 248.79076 lineto +120.62975 235.66869 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +135.7733 242.63841 moveto +136.15415 242.76732 136.52329 243.04272 136.88072 243.46458 curveto +137.24399 243.88646 137.60727 244.46654 137.97057 245.20482 curveto +139.77232 248.79076 lineto +137.8651 248.79076 lineto +136.18639 245.42455 lineto +135.75278 244.54564 135.33091 243.96264 134.92076 243.67552 curveto +134.51646 243.38842 133.96275 243.24486 133.25963 243.24486 curveto +131.32603 243.24486 lineto +131.32603 248.79076 lineto +129.55064 248.79076 lineto +129.55064 235.66869 lineto +133.55846 235.66869 lineto +135.05845 235.6687 136.17759 235.98218 136.91588 236.60912 curveto +137.65415 237.23608 138.02329 238.18237 138.0233 239.44798 curveto +138.02329 240.27416 137.82993 240.95971 137.44322 241.50462 curveto +137.06235 242.04955 136.50571 242.42748 135.7733 242.63841 curveto +131.32603 237.12767 moveto +131.32603 241.78587 lineto +133.55846 241.78587 lineto +134.41392 241.78588 135.05845 241.58959 135.49205 241.19701 curveto +135.9315 240.79858 136.15122 240.21557 136.15123 239.44798 curveto +136.15122 238.68041 135.9315 238.10327 135.49205 237.71654 curveto +135.05845 237.32397 134.41392 237.12768 133.55846 237.12767 curveto +131.32603 237.12767 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +147.39244 236.87279 moveto +146.10337 236.8728 145.07798 237.35327 144.31627 238.31419 curveto +143.56041 239.27514 143.18248 240.58471 143.18248 242.2429 curveto +143.18248 243.89525 143.56041 245.20189 144.31627 246.16283 curveto +145.07798 247.12377 146.10337 247.60423 147.39244 247.60423 curveto +148.68149 247.60423 149.70103 247.12377 150.45103 246.16283 curveto +151.20688 245.20189 151.58481 243.89525 151.58482 242.2429 curveto +151.58481 240.58471 151.20688 239.27514 150.45103 238.31419 curveto +149.70103 237.35327 148.68149 236.8728 147.39244 236.87279 curveto +149.87975 248.55345 moveto +152.21764 251.11107 lineto +150.0731 251.11107 lineto +148.13072 249.01048 lineto +147.93736 249.0222 147.78794 249.03099 147.68248 249.03685 curveto +147.58286 249.04271 147.48618 249.04564 147.39244 249.04564 curveto +145.54673 249.04564 144.07017 248.43041 142.96275 247.19994 curveto +141.86119 245.96361 141.31041 244.31127 141.31041 242.2429 curveto +141.31041 240.16869 141.86119 238.51635 142.96275 237.28587 curveto +144.07017 236.04956 145.54673 235.43139 147.39244 235.43138 curveto +149.23228 235.43139 150.70298 236.04956 151.80455 237.28587 curveto +152.9061 238.51635 153.45688 240.16869 153.45689 242.2429 curveto +153.45688 243.76635 153.14926 245.07006 152.53404 246.15404 curveto +151.92466 247.23802 151.03989 248.03783 149.87975 248.55345 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +156.23424 235.66869 moveto +158.00963 235.66869 lineto +158.00963 247.29662 lineto +164.39928 247.29662 lineto +164.39928 248.79076 lineto +156.23424 248.79076 lineto +156.23424 235.66869 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +180.33385 243.46458 moveto +180.33385 244.2556 lineto +172.8983 244.2556 lineto +172.96861 245.36888 173.30259 246.21849 173.90025 246.80443 curveto +174.50376 247.38451 175.34165 247.67455 176.41393 247.67455 curveto +177.03501 247.67455 177.6356 247.59837 178.21568 247.44603 curveto +178.80161 247.29369 179.38169 247.06517 179.95592 246.76048 curveto +179.95592 248.28978 lineto +179.37583 248.53587 178.7811 248.72337 178.17174 248.85228 curveto +177.56236 248.98119 176.94419 249.04564 176.31725 249.04564 curveto +174.74693 249.04564 173.50181 248.58861 172.58189 247.67455 curveto +171.66783 246.76048 171.2108 245.52416 171.2108 243.96556 curveto +171.2108 242.35424 171.64439 241.0769 172.51158 240.13353 curveto +173.38463 239.18432 174.55943 238.70971 176.036 238.7097 curveto +177.36021 238.70971 178.4061 239.13745 179.17369 239.9929 curveto +179.94712 240.84252 180.33384 241.99975 180.33385 243.46458 curveto +178.71666 242.98997 moveto +178.70493 242.10522 178.45591 241.39916 177.96959 240.87181 curveto +177.48911 240.34448 176.85044 240.0808 176.05357 240.0808 curveto +175.15122 240.0808 174.42759 240.33569 173.88268 240.84544 curveto +173.34361 241.35522 173.03306 242.07299 172.95103 242.99876 curveto +178.71666 242.98997 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +191.17076 242.84935 moveto +191.17076 248.79076 lineto +189.55357 248.79076 lineto +189.55357 242.90208 lineto +189.55357 241.97045 189.37192 241.27319 189.00865 240.81029 curveto +188.64536 240.34741 188.10044 240.11596 187.37389 240.11595 curveto +186.50083 240.11596 185.81236 240.39428 185.30846 240.95091 curveto +184.80455 241.50756 184.55259 242.26635 184.5526 243.22728 curveto +184.5526 248.79076 lineto +182.92662 248.79076 lineto +182.92662 238.94701 lineto +184.5526 238.94701 lineto +184.5526 240.4763 lineto +184.93931 239.88452 185.39341 239.44213 185.9149 239.14915 curveto +186.44224 238.8562 187.04869 238.70971 187.73424 238.7097 curveto +188.86509 238.70971 189.72056 239.06127 190.30064 239.76439 curveto +190.88071 240.46166 191.17075 241.48998 191.17076 242.84935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +200.89146 240.44115 moveto +200.89146 235.11497 lineto +202.50865 235.11497 lineto +202.50865 248.79076 lineto +200.89146 248.79076 lineto +200.89146 247.31419 lineto +200.55161 247.90013 200.12095 248.33666 199.59947 248.62376 curveto +199.08384 248.90501 198.46275 249.04564 197.73619 249.04564 curveto +196.54673 249.04564 195.57701 248.57103 194.82701 247.62181 curveto +194.08287 246.67259 193.7108 245.42455 193.7108 243.87767 curveto +193.7108 242.3308 194.08287 241.08276 194.82701 240.13353 curveto +195.57701 239.18432 196.54673 238.70971 197.73619 238.7097 curveto +198.46275 238.70971 199.08384 238.85327 199.59947 239.14037 curveto +200.12095 239.42162 200.55161 239.85522 200.89146 240.44115 curveto +195.38072 243.87767 moveto +195.38072 245.06713 195.62388 246.0017 196.11021 246.68138 curveto +196.6024 247.35521 197.27623 247.69212 198.1317 247.69212 curveto +198.98716 247.69212 199.66099 247.35521 200.15318 246.68138 curveto +200.64536 246.0017 200.89146 245.06713 200.89146 243.87767 curveto +200.89146 242.68822 200.64536 241.75658 200.15318 241.08275 curveto +199.66099 240.40307 198.98716 240.06323 198.1317 240.06322 curveto +197.27623 240.06323 196.6024 240.40307 196.11021 241.08275 curveto +195.62388 241.75658 195.38072 242.68822 195.38072 243.87767 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +207.40416 247.31419 moveto +207.40416 252.5349 lineto +205.77818 252.5349 lineto +205.77818 238.94701 lineto +207.40416 238.94701 lineto +207.40416 240.44115 lineto +207.744 239.85522 208.17173 239.42162 208.68736 239.14037 curveto +209.20884 238.85327 209.82994 238.70971 210.55064 238.7097 curveto +211.74595 238.70971 212.71567 239.18432 213.45982 240.13353 curveto +214.20981 241.08276 214.58481 242.3308 214.58482 243.87767 curveto +214.58481 245.42455 214.20981 246.67259 213.45982 247.62181 curveto +212.71567 248.57103 211.74595 249.04564 210.55064 249.04564 curveto +209.82994 249.04564 209.20884 248.90501 208.68736 248.62376 curveto +208.17173 248.33666 207.744 247.90013 207.40416 247.31419 curveto +212.90611 243.87767 moveto +212.9061 242.68822 212.66001 241.75658 212.16783 241.08275 curveto +211.6815 240.40307 211.0106 240.06323 210.15514 240.06322 curveto +209.29966 240.06323 208.62583 240.40307 208.13365 241.08275 curveto +207.64732 241.75658 207.40416 242.68822 207.40416 243.87767 curveto +207.40416 245.06713 207.64732 246.0017 208.13365 246.68138 curveto +208.62583 247.35521 209.29966 247.69212 210.15514 247.69212 curveto +211.0106 247.69212 211.6815 247.35521 212.16783 246.68138 curveto +212.66001 246.0017 212.9061 245.06713 212.90611 243.87767 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +221.07994 240.0808 moveto +220.21275 240.0808 219.5272 240.42065 219.0233 241.10033 curveto +218.51939 241.77416 218.26744 242.69994 218.26744 243.87767 curveto +218.26744 245.05541 218.51646 245.98412 219.01451 246.6638 curveto +219.51841 247.33763 220.20689 247.67455 221.07994 247.67455 curveto +221.94126 247.67455 222.62388 247.3347 223.12779 246.65501 curveto +223.63169 245.97533 223.88364 245.04955 223.88365 243.87767 curveto +223.88364 242.71166 223.63169 241.78881 223.12779 241.10912 curveto +222.62388 240.42358 221.94126 240.0808 221.07994 240.0808 curveto +221.07994 238.7097 moveto +222.48618 238.70971 223.59067 239.16674 224.39342 240.0808 curveto +225.19614 240.99487 225.59751 242.26049 225.59752 243.87767 curveto +225.59751 245.489 225.19614 246.75463 224.39342 247.67455 curveto +223.59067 248.58861 222.48618 249.04564 221.07994 249.04564 curveto +219.66783 249.04564 218.56041 248.58861 217.75768 247.67455 curveto +216.9608 246.75463 216.56236 245.489 216.56236 243.87767 curveto +216.56236 242.26049 216.9608 240.99487 217.75768 240.0808 curveto +218.56041 239.16674 219.66783 238.70971 221.07994 238.7097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +228.26939 238.94701 moveto +229.88658 238.94701 lineto +229.88658 248.79076 lineto +228.26939 248.79076 lineto +228.26939 238.94701 lineto +228.26939 235.11497 moveto +229.88658 235.11497 lineto +229.88658 237.16283 lineto +228.26939 237.16283 lineto +228.26939 235.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +241.4442 242.84935 moveto +241.4442 248.79076 lineto +239.82701 248.79076 lineto +239.82701 242.90208 lineto +239.827 241.97045 239.64536 241.27319 239.28209 240.81029 curveto +238.9188 240.34741 238.37388 240.11596 237.64732 240.11595 curveto +236.77427 240.11596 236.0858 240.39428 235.58189 240.95091 curveto +235.07798 241.50756 234.82603 242.26635 234.82603 243.22728 curveto +234.82603 248.79076 lineto +233.20006 248.79076 lineto +233.20006 238.94701 lineto +234.82603 238.94701 lineto +234.82603 240.4763 lineto +235.21275 239.88452 235.66685 239.44213 236.18834 239.14915 curveto +236.71568 238.8562 237.32212 238.70971 238.00768 238.7097 curveto +239.13853 238.70971 239.99399 239.06127 240.57408 239.76439 curveto +241.15415 240.46166 241.44419 241.48998 241.4442 242.84935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +246.28697 236.15208 moveto +246.28697 238.94701 lineto +249.61803 238.94701 lineto +249.61803 240.20384 lineto +246.28697 240.20384 lineto +246.28697 245.54759 lineto +246.28697 246.35033 246.39537 246.86595 246.61217 247.09447 curveto +246.83482 247.32298 247.28306 247.43724 247.95689 247.43724 curveto +249.61803 247.43724 lineto +249.61803 248.79076 lineto +247.95689 248.79076 lineto +246.70884 248.79076 245.84752 248.55931 245.37291 248.09642 curveto +244.8983 247.62767 244.66099 246.77806 244.661 245.54759 curveto +244.661 240.20384 lineto +243.47447 240.20384 lineto +243.47447 238.94701 lineto +244.661 238.94701 lineto +244.661 236.15208 lineto +246.28697 236.15208 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +251.49889 235.13255 moveto +252.90514 235.13255 lineto +253.78404 236.51538 254.44029 237.86889 254.87389 239.1931 curveto +255.31333 240.51733 255.53306 241.83276 255.53307 243.13939 curveto +255.53306 244.45189 255.31333 245.77318 254.87389 247.10326 curveto +254.44029 248.43333 253.78404 249.78685 252.90514 251.1638 curveto +251.49889 251.1638 lineto +252.27818 249.82201 252.85826 248.489 253.23912 247.16478 curveto +253.62584 245.8347 253.81919 244.49291 253.8192 243.13939 curveto +253.81919 241.78588 253.62584 240.44994 253.23912 239.13158 curveto +252.85826 237.81323 252.27818 236.48022 251.49889 235.13255 curveto +fill +grestore +grestore +gsave [1 0 0 1 0 0] concat +gsave +1 0.83137256 0.16470589 setrgbcolor +newpath +400.53726 369.87546 moveto +649.46272 369.87546 lineto +649.46272 458.80093 lineto +400.53726 458.80093 lineto +400.53726 369.87546 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0745348 setlinewidth +1 setlinejoin +0 setlinecap +newpath +400.53726 369.87546 moveto +649.46272 369.87546 lineto +649.46272 458.80093 lineto +400.53726 458.80093 lineto +400.53726 369.87546 lineto +closepath +stroke +grestore +gsave [1 0 0 1 0 0] concat +gsave +1 0.83137256 0.16470589 setrgbcolor +newpath +50.489872 369.06635 moveto +299.51012 369.06635 lineto +299.51012 458.0866 lineto +50.489872 458.0866 lineto +50.489872 369.06635 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +0.97974563 setlinewidth +1 setlinejoin +0 setlinecap +newpath +50.489872 369.06635 moveto +299.51012 369.06635 lineto +299.51012 458.0866 lineto +50.489872 458.0866 lineto +50.489872 369.06635 lineto +closepath +stroke +grestore +gsave [1 0 0 1 0 0] concat +gsave +1 0.83137256 0.16470589 setrgbcolor +newpath +205.71428 556.64783 moveto +509.99998 556.64783 lineto +509.99998 653.79069 lineto +205.71428 653.79069 lineto +205.71428 556.64783 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +1 setlinejoin +0 setlinecap +newpath +205.71428 556.64783 moveto +509.99998 556.64783 lineto +509.99998 653.79069 lineto +205.71428 653.79069 lineto +205.71428 556.64783 lineto +closepath +stroke +grestore +gsave [1 0 0 1 0 29.442843] concat +gsave [1 0 0 1 0 0] concat +gsave +1 0.83137256 0.16470589 setrgbcolor +newpath +400.53046 176.24979 moveto +649.46956 176.24979 lineto +649.46956 265.18889 lineto +400.53046 265.18889 lineto +400.53046 176.24979 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.0609013 setlinewidth +1 setlinejoin +0 setlinecap +newpath +400.53046 176.24979 moveto +649.46956 176.24979 lineto +649.46956 265.18889 lineto +400.53046 265.18889 lineto +400.53046 176.24979 lineto +closepath +stroke +grestore +gsave +0 0 0 setrgbcolor +newpath +444.55341 203.94701 moveto +446.17059 203.94701 lineto +446.17059 213.79076 lineto +444.55341 213.79076 lineto +444.55341 203.94701 lineto +444.55341 200.11497 moveto +446.17059 200.11497 lineto +446.17059 202.16283 lineto +444.55341 202.16283 lineto +444.55341 200.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +457.72821 207.84935 moveto +457.72821 213.79076 lineto +456.11102 213.79076 lineto +456.11102 207.90208 lineto +456.11101 206.97045 455.92937 206.27319 455.5661 205.81029 curveto +455.20281 205.34741 454.65789 205.11596 453.93134 205.11595 curveto +453.05828 205.11596 452.36981 205.39428 451.86591 205.95091 curveto +451.362 206.50756 451.11004 207.26635 451.11005 208.22728 curveto +451.11005 213.79076 lineto +449.48407 213.79076 lineto +449.48407 203.94701 lineto +451.11005 203.94701 lineto +451.11005 205.4763 lineto +451.49676 204.88452 451.95086 204.44213 452.47235 204.14915 curveto +452.99969 203.8562 453.60613 203.70971 454.29169 203.7097 curveto +455.42254 203.70971 456.27801 204.06127 456.85809 204.76439 curveto +457.43816 205.46166 457.7282 206.48998 457.72821 207.84935 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +465.95477 200.11497 moveto +465.95477 201.4597 lineto +464.4079 201.4597 lineto +463.82782 201.45971 463.42352 201.5769 463.19501 201.81126 curveto +462.97235 202.04565 462.86102 202.46753 462.86102 203.07689 curveto +462.86102 203.94701 lineto +465.52411 203.94701 lineto +465.52411 205.20384 lineto +462.86102 205.20384 lineto +462.86102 213.79076 lineto +461.23505 213.79076 lineto +461.23505 205.20384 lineto +459.68817 205.20384 lineto +459.68817 203.94701 lineto +461.23505 203.94701 lineto +461.23505 203.26146 lineto +461.23504 202.16577 461.48993 201.36889 461.99969 200.87083 curveto +462.50946 200.36694 463.31805 200.11499 464.42548 200.11497 curveto +465.95477 200.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +471.11395 205.0808 moveto +470.24676 205.0808 469.56121 205.42065 469.05731 206.10033 curveto +468.5534 206.77416 468.30145 207.69994 468.30145 208.87767 curveto +468.30145 210.05541 468.55047 210.98412 469.04852 211.6638 curveto +469.55243 212.33763 470.2409 212.67455 471.11395 212.67455 curveto +471.97527 212.67455 472.65789 212.3347 473.1618 211.65501 curveto +473.6657 210.97533 473.91766 210.04955 473.91766 208.87767 curveto +473.91766 207.71166 473.6657 206.78881 473.1618 206.10912 curveto +472.65789 205.42358 471.97527 205.0808 471.11395 205.0808 curveto +471.11395 203.7097 moveto +472.5202 203.70971 473.62469 204.16674 474.42743 205.0808 curveto +475.23015 205.99487 475.63152 207.26049 475.63153 208.87767 curveto +475.63152 210.489 475.23015 211.75463 474.42743 212.67455 curveto +473.62469 213.58861 472.5202 214.04564 471.11395 214.04564 curveto +469.70184 214.04564 468.59442 213.58861 467.79169 212.67455 curveto +466.99481 211.75463 466.59637 210.489 466.59637 208.87767 curveto +466.59637 207.26049 466.99481 205.99487 467.79169 205.0808 curveto +468.59442 204.16674 469.70184 203.70971 471.11395 203.7097 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +484.00751 205.45872 moveto +483.82586 205.35326 483.62664 205.27709 483.40985 205.23021 curveto +483.19891 205.17748 482.96453 205.15112 482.70673 205.15111 curveto +481.79266 205.15112 481.08953 205.44994 480.59735 206.04759 curveto +480.11102 206.6394 479.86786 207.49193 479.86786 208.60521 curveto +479.86786 213.79076 lineto +478.24188 213.79076 lineto +478.24188 203.94701 lineto +479.86786 203.94701 lineto +479.86786 205.4763 lineto +480.2077 204.87866 480.65008 204.43627 481.19501 204.14915 curveto +481.73992 203.8562 482.40203 203.70971 483.18134 203.7097 curveto +483.29266 203.70971 483.4157 203.7185 483.55048 203.73607 curveto +483.68523 203.7478 483.83465 203.76831 483.99872 203.79759 curveto +484.00751 205.45872 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +493.06903 205.83665 moveto +493.47332 205.1101 493.95672 204.57397 494.51923 204.22826 curveto +495.08171 203.88256 495.74382 203.70971 496.50555 203.7097 curveto +497.53093 203.70971 498.32195 204.07006 498.8786 204.79076 curveto +499.43523 205.50561 499.71355 206.52514 499.71356 207.84935 curveto +499.71356 213.79076 lineto +498.08759 213.79076 lineto +498.08759 207.90208 lineto +498.08757 206.95873 497.92058 206.25854 497.58661 205.8015 curveto +497.25261 205.34448 496.74285 205.11596 496.05731 205.11595 curveto +495.21941 205.11596 494.5573 205.39428 494.07098 205.95091 curveto +493.58465 206.50756 493.34148 207.26635 493.34149 208.22728 curveto +493.34149 213.79076 lineto +491.71552 213.79076 lineto +491.71552 207.90208 lineto +491.71551 206.95287 491.54852 206.25268 491.21454 205.8015 curveto +490.88055 205.34448 490.36492 205.11596 489.66766 205.11595 curveto +488.84149 205.11596 488.18524 205.39721 487.69891 205.9597 curveto +487.21258 206.51635 486.96942 207.27221 486.96942 208.22728 curveto +486.96942 213.79076 lineto +485.34344 213.79076 lineto +485.34344 203.94701 lineto +486.96942 203.94701 lineto +486.96942 205.4763 lineto +487.33856 204.8728 487.78094 204.42748 488.29657 204.14037 curveto +488.81219 203.85327 489.42449 203.70971 490.13348 203.7097 curveto +490.84832 203.70971 491.45477 203.89135 491.95282 204.25462 curveto +492.45672 204.61791 492.82879 205.14526 493.06903 205.83665 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +507.42157 208.84251 moveto +506.11492 208.84252 505.20965 208.99193 504.70575 209.29076 curveto +504.20184 209.58959 503.94989 210.09935 503.94989 210.82005 curveto +503.94989 211.39427 504.13739 211.85131 504.51239 212.19115 curveto +504.89325 212.52513 505.40887 212.69212 506.05927 212.69212 curveto +506.95574 212.69212 507.67352 212.37572 508.21259 211.7429 curveto +508.7575 211.10424 509.02996 210.25756 509.02997 209.20287 curveto +509.02997 208.84251 lineto +507.42157 208.84251 lineto +510.64716 208.17455 moveto +510.64716 213.79076 lineto +509.02997 213.79076 lineto +509.02997 212.29662 lineto +508.66082 212.89427 508.20086 213.33666 507.65009 213.62376 curveto +507.0993 213.90501 506.42547 214.04564 505.6286 214.04564 curveto +504.62079 214.04564 503.81805 213.76439 503.2204 213.20189 curveto +502.6286 212.63353 502.3327 211.87474 502.3327 210.92552 curveto +502.3327 209.8181 502.70184 208.98314 503.44012 208.42064 curveto +504.18426 207.85814 505.29168 207.5769 506.76239 207.57689 curveto +509.02997 207.57689 lineto +509.02997 207.41869 lineto +509.02996 206.67455 508.78387 206.10033 508.29169 205.69603 curveto +507.80535 205.28588 507.11981 205.0808 506.23505 205.0808 curveto +505.67254 205.0808 505.12469 205.14819 504.59149 205.28294 curveto +504.05829 205.41772 503.54559 205.61987 503.05341 205.88939 curveto +503.05341 204.39525 lineto +503.6452 204.16674 504.21942 203.99682 504.77606 203.88548 curveto +505.3327 203.76831 505.87469 203.70971 506.40204 203.7097 curveto +507.82586 203.70971 508.88934 204.07885 509.59247 204.81712 curveto +510.29558 205.55541 510.64715 206.67455 510.64716 208.17455 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +515.58661 201.15208 moveto +515.58661 203.94701 lineto +518.91766 203.94701 lineto +518.91766 205.20384 lineto +515.58661 205.20384 lineto +515.58661 210.54759 lineto +515.58661 211.35033 515.695 211.86595 515.9118 212.09447 curveto +516.13446 212.32298 516.5827 212.43724 517.25653 212.43724 curveto +518.91766 212.43724 lineto +518.91766 213.79076 lineto +517.25653 213.79076 lineto +516.00848 213.79076 515.14715 213.55931 514.67255 213.09642 curveto +514.19794 212.62767 513.96063 211.77806 513.96063 210.54759 curveto +513.96063 205.20384 lineto +512.77411 205.20384 lineto +512.77411 203.94701 lineto +513.96063 203.94701 lineto +513.96063 201.15208 lineto +515.58661 201.15208 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +521.05341 203.94701 moveto +522.67059 203.94701 lineto +522.67059 213.79076 lineto +521.05341 213.79076 lineto +521.05341 203.94701 lineto +521.05341 200.11497 moveto +522.67059 200.11497 lineto +522.67059 202.16283 lineto +521.05341 202.16283 lineto +521.05341 200.11497 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +529.86005 205.0808 moveto +528.99285 205.0808 528.30731 205.42065 527.80341 206.10033 curveto +527.2995 206.77416 527.04754 207.69994 527.04755 208.87767 curveto +527.04754 210.05541 527.29657 210.98412 527.79462 211.6638 curveto +528.29852 212.33763 528.98699 212.67455 529.86005 212.67455 curveto +530.72137 212.67455 531.40398 212.3347 531.9079 211.65501 curveto +532.4118 210.97533 532.66375 210.04955 532.66376 208.87767 curveto +532.66375 207.71166 532.4118 206.78881 531.9079 206.10912 curveto +531.40398 205.42358 530.72137 205.0808 529.86005 205.0808 curveto +529.86005 203.7097 moveto +531.26629 203.70971 532.37078 204.16674 533.17352... [truncated message content] |
From: <lor...@us...> - 2009-09-23 12:28:53
|
Revision: 1859 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1859&view=rev Author: lorenz_b Date: 2009-09-23 12:23:52 +0000 (Wed, 23 Sep 2009) Log Message: ----------- fixed bug when dissolving blank nodes swingx lib update Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/aquisitors/BlankNodeCollector.java Added Paths: ----------- trunk/lib/ore-tool/swingx-1.0.jar Removed Paths: ------------- trunk/lib/ore-tool/swingx-0.9.7.jar Deleted: trunk/lib/ore-tool/swingx-0.9.7.jar =================================================================== (Binary files differ) Added: trunk/lib/ore-tool/swingx-1.0.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/ore-tool/swingx-1.0.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/kb/aquisitors/BlankNodeCollector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/aquisitors/BlankNodeCollector.java 2009-09-23 11:26:14 UTC (rev 1858) +++ trunk/src/dl-learner/org/dllearner/kb/aquisitors/BlankNodeCollector.java 2009-09-23 12:23:52 UTC (rev 1859) @@ -84,11 +84,11 @@ String currentO = "?o"+currentDepth; String nextP = "?p"+(currentDepth+1); String nextO = "?o"+(currentDepth+1); - sq.append(" { OPTIONAL { "+currentO+" "+nextP+" "+nextO+". }}"); + sq.append(" OPTIONAL { "+currentO+" "+nextP+" "+nextO+". }"); } - sq.append(" } "); + sq.append(" }"); return sq.toString(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-09-24 10:46:27
|
Revision: 1861 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1861&view=rev Author: lorenz_b Date: 2009-09-24 10:46:15 +0000 (Thu, 24 Sep 2009) Log Message: ----------- added ability to show links in browser Modified Paths: -------------- trunk/build.xml trunk/src/dl-learner/org/dllearner/Info.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/IntroductionPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java Added Paths: ----------- trunk/lib/ore-tool/BrowserLauncher2-all-1_3.jar Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/ore/Sparql.java Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2009-09-24 08:51:02 UTC (rev 1860) +++ trunk/build.xml 2009-09-24 10:46:15 UTC (rev 1861) @@ -1,105 +1,105 @@ <?xml version="1.0" encoding="UTF-8"?> <project basedir="." default="build" name="dl_learner"> - + <!-- directory settings --> <property name="lib_dir" value="lib" /> <property name="source_dir" value="src/dl-learner" /> <property name="protege_dir" value="/home/jl/programme/Protege_4.0_beta/plugins" /> <property name="class_dir" value="classes" /> <property name="ontowiki_dir" value="${user.home}/workspace/ontowiki/ontowiki/src/extensions/components/dllearner/dllearner" /> - + <property name="php_client_dir" value="src/php-client" /> <tstamp> - <format property="today" pattern="yyyy-MM-dd" locale="en" /> - </tstamp> + <format property="today" pattern="yyyy-MM-dd" locale="en" /> + </tstamp> <property name="version_dir" value="dllearner-${today}" /> <property name="release_tmp_dir" value="release/${version_dir}" /> - <property name="release_php_client_tmp_dir" value="release/php-client-${today}" /> - + <property name="release_php_client_tmp_dir" value="release/php-client-${today}" /> + <!-- other settings --> <!-- maximum amount of allocated memory in startup scripts --> <property name ="max_memory" value="1024" /> - + <!-- set up classpath --> <path id="classpath"> <pathelement location="."/> - <fileset dir="${lib_dir}"> - <include name="**/*.jar"/> - </fileset> + <fileset dir="${lib_dir}"> + <include name="**/*.jar"/> + </fileset> </path> - + <!-- build target --> <target name="full_release" depends="manual,javadoc,build" description="full release, javadoc, scripts"> </target> - + <!-- build target --> <target name="rdbtoonto" description="makes jar"> - <!-- compile project into temporary directory --> - <mkdir dir="classes_tmp"/> - <javac destdir="classes_tmp" target="1.6"> - <src path="${source_dir}"/> - <classpath refid="classpath"/> - </javac> - - <jar jarfile="lib/rdbtoonto/converter.jar"> - <fileset dir="classes_tmp"/> - </jar> - <delete dir="classes_tmp"/> + <!-- compile project into temporary directory --> + <mkdir dir="classes_tmp"/> + <javac destdir="classes_tmp" target="1.6"> + <src path="${source_dir}"/> + <classpath refid="classpath"/> + </javac> + + <jar jarfile="lib/rdbtoonto/converter.jar"> + <fileset dir="classes_tmp"/> + </jar> + <delete dir="classes_tmp"/> </target> - - + + <!-- build target --> - <target name="local" depends="createScripts" description="fast build including scripts, + <target name="local" depends="createScripts" description="fast build including scripts, no javadoc, no tar, just executables in local, can be used on a server"> - - - <!-- compile project into temporary directory --> - <mkdir dir="classes_tmp"/> - <javac destdir="classes_tmp" target="1.5"> - <src path="${source_dir}"/> - <classpath refid="classpath"/> - </javac> - - <mkdir dir="${release_tmp_dir}"/> - <mkdir dir="${release_tmp_dir}/lib/"/> - <jar jarfile="${release_tmp_dir}/lib/dllearner.jar"> - <fileset dir="classes_tmp"/> - </jar> - <delete dir="classes_tmp"/> - - <!-- copy all other libraries --> - <copy toDir="${release_tmp_dir}/lib"> - <fileset dir="${lib_dir}" /> - </copy> - - <!-- copy binary files and examples --> - <copy toDir="${release_tmp_dir}/examples"> - <fileset dir="examples"/> - </copy> - <copy toDir="${release_tmp_dir}"> - <fileset dir="bin"/> - </copy> - - <!-- create file containing the build info --> - <echo file="${release_tmp_dir}/build.txt" append="false">DL-Learner Build ${today}</echo> - - <!-- create empty log directory for release --> - <mkdir dir="${release_tmp_dir}/log" /> - <mkdir dir="${release_tmp_dir}/cache" /> - - <mkdir dir="local" /> - <move toDir="local"> - <fileset dir="${release_tmp_dir}"/> - </move> - <delete dir="${release_tmp_dir}" /> - <delete dir="release" /> - - </target> - - + + + <!-- compile project into temporary directory --> + <mkdir dir="classes_tmp"/> + <javac destdir="classes_tmp" target="1.5"> + <src path="${source_dir}"/> + <classpath refid="classpath"/> + </javac> + + <mkdir dir="${release_tmp_dir}"/> + <mkdir dir="${release_tmp_dir}/lib/"/> + <jar jarfile="${release_tmp_dir}/lib/dllearner.jar"> + <fileset dir="classes_tmp"/> + </jar> + <delete dir="classes_tmp"/> + + <!-- copy all other libraries --> + <copy toDir="${release_tmp_dir}/lib"> + <fileset dir="${lib_dir}" /> + </copy> + + <!-- copy binary files and examples --> + <copy toDir="${release_tmp_dir}/examples"> + <fileset dir="examples"/> + </copy> + <copy toDir="${release_tmp_dir}"> + <fileset dir="bin"/> + </copy> + + <!-- create file containing the build info --> + <echo file="${release_tmp_dir}/build.txt" append="false">DL-Learner Build ${today}</echo> + + <!-- create empty log directory for release --> + <mkdir dir="${release_tmp_dir}/log" /> + <mkdir dir="${release_tmp_dir}/cache" /> + + <mkdir dir="local" /> + <move toDir="local"> + <fileset dir="${release_tmp_dir}"/> + </move> + <delete dir="${release_tmp_dir}" /> + <delete dir="release" /> + + </target> + + <!-- build target --> <target name="build" depends="createScripts,manual" description="fast build including scripts, no javadoc"> - + <!-- write current build date into Info.java --> <echo file="${source_dir}/org/dllearner/Info.java" append="false"> // File is updated automatically when a new version is created @@ -108,31 +108,31 @@ public class Info { public static final String build = "${today}"; } - </echo> - + </echo> + <!-- compile project into temporary directory --> - <mkdir dir="classes_tmp"/> - <javac destdir="classes_tmp" target="1.5"> - <src path="${source_dir}"/> - <classpath refid="classpath"/> - </javac> + <mkdir dir="classes_tmp"/> + <javac destdir="classes_tmp" target="1.5"> + <src path="${source_dir}"/> + <classpath refid="classpath"/> + </javac> <!-- we also need to copy some images, which should be - included in dllearner.jar --> + included in dllearner.jar --> <copy toDir="classes_tmp" > <fileset dir="${source_dir}" includes="**/*.gif,**/*.html"/> - </copy> + </copy> <mkdir dir="${release_tmp_dir}"/> <mkdir dir="${release_tmp_dir}/lib/"/> - <jar jarfile="${release_tmp_dir}/lib/dllearner.jar"> - <fileset dir="classes_tmp"/> - </jar> + <jar jarfile="${release_tmp_dir}/lib/dllearner.jar"> + <fileset dir="classes_tmp"/> + </jar> <delete dir="classes_tmp"/> - + <!-- copy all other libraries --> <copy toDir="${release_tmp_dir}/lib"> <fileset dir="${lib_dir}" /> - </copy> - + </copy> + <!-- copy binary files and examples --> <copy toDir="${release_tmp_dir}/examples"> <fileset dir="examples"/> @@ -140,13 +140,13 @@ <copy toDir="${release_tmp_dir}"> <fileset dir="bin"/> </copy> - + <!-- create file containing the build info --> <echo file="${release_tmp_dir}/build.txt" append="false">DL-Learner Build ${today}</echo> - + <!-- create empty log directory for release --> <mkdir dir="${release_tmp_dir}/log" /> - + <!-- copy documentation excluding developer documentation --> <copy toDir="${release_tmp_dir}/doc"> <fileset dir="doc"> @@ -155,37 +155,37 @@ <exclude name="manual/" /> </fileset> </copy> - + <!-- copy special files (INSTALL, README) --> <copy file="INSTALL" toDir="${release_tmp_dir}" /> <copy file="README" toDir="${release_tmp_dir}" /> - + <!-- create tar.gz files (allows storing whether a file is executable) --> <tar longfile="gnu" destfile="dllearner-nosource-${today}.tar.gz" compression="gzip"> - <!-- extra set for executable files --> - <tarfileset dir="release/" mode="755"> - <include name="${version_dir}/dllearner" /> - <include name="${version_dir}/quickstart" /> - <include name="${version_dir}/ws" /> - <include name="${version_dir}/gui" /> - </tarfileset> - <tarfileset dir="release/"> - <exclude name="${version_dir}/dllearner"/> - <exclude name="${version_dir}/quickstart" /> - <exclude name="${version_dir}/ws" /> - <exclude name="${version_dir}/gui" /> - </tarfileset> + <!-- extra set for executable files --> + <tarfileset dir="release/" mode="755"> + <include name="${version_dir}/dllearner" /> + <include name="${version_dir}/quickstart" /> + <include name="${version_dir}/ws" /> + <include name="${version_dir}/gui" /> + </tarfileset> + <tarfileset dir="release/"> + <exclude name="${version_dir}/dllearner"/> + <exclude name="${version_dir}/quickstart" /> + <exclude name="${version_dir}/ws" /> + <exclude name="${version_dir}/gui" /> + </tarfileset> </tar> - + <!-- copy source code --> <mkdir dir="${release_tmp_dir}/src/"/> <copy toDir="${release_tmp_dir}/src/"> <fileset dir="${source_dir}" includes="**/*.java,**/*.html,**/*.gif,**/*.jjt,build.xml"/> </copy> - + <!-- copy manual --> <copy toFile="${release_tmp_dir}/doc/manual.pdf" file="doc/manual/manual.pdf" /> - + <!-- create copy developer documentation --> <!-- <copy todir="${release_tmp_dir}/doc/eclipse/"> @@ -194,30 +194,30 @@ <copy todir="${release_tmp_dir}/doc/javadoc/"> <fileset dir="doc/javadoc/"/> </copy> - --> - + --> + <!-- create backup (= standard build + source code + developer documentation) --> <tar longfile="gnu" destfile="dllearner-${today}.tar.gz" compression="gzip"> <tarfileset dir="release/" mode="755"> - <include name="${version_dir}/dllearner" /> - <include name="${version_dir}/quickstart" /> + <include name="${version_dir}/dllearner" /> + <include name="${version_dir}/quickstart" /> <include name="${version_dir}/ws" /> <include name="${version_dir}/gui" /> </tarfileset> <tarfileset dir="release/"> - <exclude name="${version_dir}/dllearner"/> - <exclude name="${version_dir}/quickstart" /> + <exclude name="${version_dir}/dllearner"/> + <exclude name="${version_dir}/quickstart" /> <exclude name="${version_dir}/ws" /> <exclude name="${version_dir}/gui" /> - </tarfileset> - </tar> - <delete dir="release"/> + </tarfileset> + </tar> + <delete dir="release"/> </target> - + <!-- build PHP client release --> <target name="php_client"> <mkdir dir="${release_php_client_tmp_dir}" /> - + <!-- copy PHP-client to a temporary directory exluding some files --> <copy toDir="${release_php_client_tmp_dir}"> <fileset dir="${php_client_dir}"> @@ -226,20 +226,20 @@ <!-- <exclude name="save/" /> --> </fileset> </copy> - + <!-- copy over all owl ontologies in examples directory --> <copy toDir="${release_php_client_tmp_dir}/ontologies/" flatten="true"> <fileset dir="examples" includes="**/*.owl" /> </copy> - + <!-- create release --> <tar destfile="php-client-${today}.tar.gz" compression="gzip"> <tarfileset dir="release" /> </tar> - + <delete dir="release" /> </target> - + <!-- generate JAXWS classes --> <target name="wsgen" > <path id="wsgen"> @@ -248,23 +248,25 @@ </path> <pathconvert refid="wsgen" property="wsgenpath"/> <exec dir="${source_dir}" executable="wsgen"> - <arg value="-keep"/> - <arg value="-verbose"/> - <arg value="-cp"/> - <arg value="${wsgenpath}"/> - <arg value="org.dllearner.server.DLLearnerWS"/> - </exec> + <arg value="-keep"/> + <arg value="-verbose"/> + <arg value="-cp"/> + <arg value="${wsgenpath}"/> + <arg value="org.dllearner.server.DLLearnerWS"/> + </exec> </target> - + <!-- generate startup scripts --> <target name="createScripts" > <path id="addjar"> <path refid="classpath"/> <pathelement location="${lib_dir}/dllearner.jar"/> </path> - <path id="removeprefix"><pathelement location="."/> </path> + <path id="removeprefix"> + <pathelement location="."/> + </path> <pathconvert refid="removeprefix" property="removeprefix" /> - + <pathconvert refid="addjar" property="pathStringUnix" targetos="unix"> <map from="${removeprefix}" to="."/> </pathconvert> @@ -275,42 +277,42 @@ <echo file="bin/quickstart.bat" message="java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringWin} org.dllearner.cli.QuickStart"/> <echo file="bin/dllearner.bat" message="java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringWin} org.dllearner.cli.Start %*"/> <echo file="bin/ws.bat" message="java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringWin} org.dllearner.server.DLLearnerWSStart %*"/> - <echo file="bin/gui.bat" message="java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringWin} org.dllearner.gui.StartGUI %*"/> + <echo file="bin/gui.bat" message="java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringWin} org.dllearner.gui.StartGUI %*"/> <echo file="bin/quickstart" message="#!/bin/bash${line.separator}java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringUnix} org.dllearner.cli.QuickStart"/> <echo file="bin/dllearner" message="#!/bin/bash${line.separator}java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringUnix} org.dllearner.cli.Start $@"/> <echo file="bin/ws" message="#!/bin/bash${line.separator}java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringUnix} org.dllearner.server.DLLearnerWSStart $@"/> <echo file="bin/gui" message="#!/bin/bash${line.separator}java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringUnix} org.dllearner.gui.StartGUI $@"/> </target> - + <!-- generate manual --> <taskdef name="latex" classname="de.dokutransdata.antlatex.LaTeX" - classpath="lib/ant_latex.jar"/> - <target name="manual"> - + classpath="lib/ant_latex.jar"/> + <target name="manual"> + <!-- automatically adds correct build number in manual --> <replaceregexp file="doc/manual/manual.tex" match="DL-Learner (.*) command line interface" replace="DL-Learner ${today} command line interface" byline="true"/> - - <!-- run pdflatex and bibtex over doc/manual/ --> - <latex + + <!-- run pdflatex and bibtex over doc/manual/ --> + <latex latexfile="manual.tex" verbose="off" clean="on" pdftex="on" - workingDir="doc/manual"> - <bibtex + workingDir="doc/manual"> + <bibtex run="on" workingDir="doc/manual/" - /> - </latex> - </target> - + /> + </latex> + </target> + <!-- generate Javadoc --> - <target name="javadoc"> - <pathconvert refid="classpath" property="jdocclasspath"/> - <javadoc access="public" + <target name="javadoc"> + <pathconvert refid="classpath" property="jdocclasspath"/> + <javadoc access="public" author="true" classpath="${jdocclasspath}" destdir="doc/javadoc" @@ -331,71 +333,71 @@ bottom="<img style='float:right' src='http://sflogo.sourceforge.net/sflogo.php?group_id=203619&type=1' width='88' height='31' border='0' alt='SourceForge.net Logo' /> DL-Learner is licenced under the terms of the GNU General Public License.<br />Copyright &#169; 2007-2008 Jens Lehmann" Encoding="ISO-8859-1" windowtitle="DL-Learner Javadoc"> - <link href="http://java.sun.com/javase/6/docs/api/"/> - </javadoc> - </target> - + <link href="http://java.sun.com/javase/6/docs/api/"/> + </javadoc> + </target> + <!-- copy all necessary files in a folder to build the jar or a release bundle --> <target name="buildProtegePlugin"> <property name="source" value="src/dl-learner/org/dllearner/tools/protege" /> <property name="temp" value="${source}/temp" /> <property name="release" value="${source}/release" /> - - <mkdir dir="${temp}" /> - <mkdir dir="${release}" /> - <mkdir dir="${temp}/META-INF" /> - <mkdir dir="${temp}/lib" /> - <mkdir dir="${temp}/lib/pellet" /> - <mkdir dir="${temp}/lib/jena" /> - <mkdir dir="${temp}/lib/ore-tools" /> - <copy toDir="${temp}/META-INF" > - <fileset dir="${source}/META-INF" includes="MANIFEST.MF," /> - </copy> - <copy toDir="${temp}/lib/ore-tool" > - <fileset dir="${lib_dir}/ore-tool" includes="swingx-0.9.2.jar" /> - </copy> - <copy toDir="${temp}/lib" > - <fileset dir="${lib_dir}" includes="junit-4.4.jar,jamon-2.7.jar" /> - </copy> - <copy toDir="${temp}/lib/pellet" > - <fileset dir="${lib_dir}/pellet" includes="**/*.jar" /> - </copy> - <copy toDir="${temp}/lib/jena" > - <fileset dir="${lib_dir}/jena" includes="commons-logging-1.1.1.jar,json.jar" /> - </copy> - <copy toDir="${temp}" > - <fileset dir="${class_dir}" /> - </copy> - <copy toDir="${temp}" > - <fileset dir="${source}/META-INF" includes="**/*.xml," excludes="build.xml" /> - </copy> - <javac srcdir="${source}" + + <mkdir dir="${temp}" /> + <mkdir dir="${release}" /> + <mkdir dir="${temp}/META-INF" /> + <mkdir dir="${temp}/lib" /> + <mkdir dir="${temp}/lib/pellet" /> + <mkdir dir="${temp}/lib/jena" /> + <mkdir dir="${temp}/lib/ore-tools" /> + <copy toDir="${temp}/META-INF" > + <fileset dir="${source}/META-INF" includes="MANIFEST.MF," /> + </copy> + <copy toDir="${temp}/lib/ore-tool" > + <fileset dir="${lib_dir}/ore-tool" includes="swingx-1.0.jar" /> + </copy> + <copy toDir="${temp}/lib" > + <fileset dir="${lib_dir}" includes="junit-4.4.jar,jamon-2.7.jar" /> + </copy> + <copy toDir="${temp}/lib/pellet" > + <fileset dir="${lib_dir}/pellet" includes="**/*.jar" /> + </copy> + <copy toDir="${temp}/lib/jena" > + <fileset dir="${lib_dir}/jena" includes="commons-logging-1.1.1.jar,json.jar" /> + </copy> + <copy toDir="${temp}" > + <fileset dir="${class_dir}" /> + </copy> + <copy toDir="${temp}" > + <fileset dir="${source}/META-INF" includes="**/*.xml," excludes="build.xml" /> + </copy> + <javac srcdir="${source}" destdir="${temp}" debug="on" target="1.5"> - <classpath refid="classpath"/> - </javac> - <jar destfile="${release}/DL-Learner-protege-plugin.jar" manifest="${temp}/META-INF/MANIFEST.MF"> - <fileset dir="${temp}" /> - </jar> - + <classpath refid="classpath"/> + </javac> + <jar destfile="${release}/DL-Learner-protege-plugin.jar" manifest="${temp}/META-INF/MANIFEST.MF"> + <fileset dir="${temp}" /> + </jar> + </target> - + <!--Copy the DL-Learner-Protege-plugin jar file into the Protege plugin folder --> <target name="copyProtegePluginToProtegeDir" depends="buildProtegePlugin"> <copy toDir="${protege_dir}" > - <fileset dir="${release}" includes="DL-Learner-protege-plugin.jar" /> - </copy> + <fileset dir="${release}" includes="DL-Learner-protege-plugin.jar" /> + </copy> <delete dir="${temp}" /> <delete dir="${release}" /> - </target> - + </target> + <!--Builds the Releasebundle --> <target name="buildProtegePluginRelease" depends="buildProtegePlugin"> <copy file="LICENSE" toDir="${release}" /> - <copy toDir="${release}" > - <fileset dir="${source}" includes="INSTALL,README" excludes="**/*.java,**/*.gif" /> - </copy> + <copy toDir="${release}" > + <fileset dir="${source}" includes="INSTALL,README" excludes="**/*.java,**/*.gif" /> + </copy> <property name="ProtRelease" value="releaseProtege/" /> <mkdir dir="${ProtRelease}" /> <zip destfile="${ProtRelease}/DL-Learner-plugin.zip" @@ -404,45 +406,144 @@ <delete dir="${temp}" /> <delete dir="${release}" /> </target> - + <!--Builds the Ontowiki DL-Learner Jar --> - + <target name="buildOntowikiDLLearnerJar"> - <mkdir dir="${temp}"/> - <mkdir dir="${release}"/> - <mkdir dir="${release}/lib"/> - <mkdir dir="${release}/lib/pellet"/> - <mkdir dir="${release}/lib/jena"/> - <mkdir dir="${release}/lib/owlapi"/> - - <copy toDir="${release}/lib"> - <fileset dir="${lib_dir}" includes="jamon-2.7.jar,log4j.jar,components.ini"/> - </copy> - + <mkdir dir="${temp}"/> + <mkdir dir="${release}"/> + <mkdir dir="${release}/lib"/> + <mkdir dir="${release}/lib/pellet"/> + <mkdir dir="${release}/lib/jena"/> + <mkdir dir="${release}/lib/owlapi"/> + + <copy toDir="${release}/lib"> + <fileset dir="${lib_dir}" includes="jamon-2.7.jar,log4j.jar,components.ini"/> + </copy> + <copy toDir="${release}/lib/owlapi"> <fileset dir="${lib_dir}/owlapi" includes="owlapi-bin.jar"/> - </copy> - <copy toDir="${release}/lib/pellet"> - <fileset dir="${lib_dir}/pellet" includes="pellet-core.jar, pellet-owlapi.jar"/> - </copy> - - <copy toDir="${release}/lib/jena"> - <fileset dir="${lib_dir}/jena" includes="commons-logging-1.1.1.jar,json.jar"/> - </copy> - - <copy toDir="${temp}"> - <fileset dir="${class_dir}"/> - </copy> - - <jar destfile="${release}/dllearner.jar"> - <fileset dir="${temp}"/> - </jar> - <copy toDir="${ontowiki_dir}"> - <fileset dir="${release}"/> </copy> - + <copy toDir="${release}/lib/pellet"> + <fileset dir="${lib_dir}/pellet" includes="pellet-core.jar, pellet-owlapi.jar"/> + </copy> + + <copy toDir="${release}/lib/jena"> + <fileset dir="${lib_dir}/jena" includes="commons-logging-1.1.1.jar,json.jar"/> + </copy> + + <copy toDir="${temp}"> + <fileset dir="${class_dir}"/> + </copy> + + <jar destfile="${release}/dllearner.jar"> + <fileset dir="${temp}"/> + </jar> + <copy toDir="${ontowiki_dir}"> + <fileset dir="${release}"/> + </copy> + <delete dir="${temp}" /> <delete dir="${release}" /> </target> - + + <!-- build the ORE tool --> + <target name="buildORE" description="build ore including scripts, no javadoc"> + + <!-- build scripts --> + <path id="addjar"> + <path refid="classpath"/> + <pathelement location="${lib_dir}/dllearner.jar"/> + </path> + <path id="removeprefix"> + <pathelement location="."/> + </path> + <pathconvert refid="removeprefix" property="removeprefix" /> + + <pathconvert refid="addjar" property="pathStringUnix" targetos="unix"> + <map from="${removeprefix}" to="."/> + </pathconvert> + <pathconvert refid="addjar" property="pathStringWin" targetos="windows"> + <map from="${removeprefix}" to="."/> + </pathconvert> + + <echo file="bin/ore.bat" message="java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringWin} org.dllearner.tools.ore.OREApplication"/> + <echo file="bin/ore" message="#!/bin/bash${line.separator}java -Xmx${max_memory}m -Djava.library.path=lib/fact/ -cp ${pathStringUnix} org.dllearner.tools.ore.OREApplication $@"/> + + <!-- write current build date into Info.java --> + <echo file="${source_dir}/org/dllearner/Info.java" append="false"> + // File is updated automatically when a new version is created + package org.dllearner; + + public class Info { + public static final String build = "${today}"; + } + </echo> + + <!-- compile project into temporary directory --> + <mkdir dir="classes_tmp"/> + <javac destdir="classes_tmp" target="1.5"> + <src path="${source_dir}"/> + <classpath refid="classpath"/> + </javac> + <!-- we also need to copy some images, which should be + included in dllearner.jar --> + <copy toDir="classes_tmp" > + <fileset dir="${source_dir}" includes="**/*.gif,**/*.html,**/*.txt"/> + </copy> + <mkdir dir="${release_tmp_dir}"/> + <mkdir dir="${release_tmp_dir}/lib/"/> + <jar jarfile="${release_tmp_dir}/lib/dllearner.jar"> + <fileset dir="classes_tmp"/> + </jar> + <delete dir="classes_tmp"/> + + <!-- copy all other libraries --> + <copy toDir="${release_tmp_dir}/lib"> + <fileset dir="${lib_dir}" /> + </copy> + + <!-- copy binary files and examples --> + <copy toDir="${release_tmp_dir}/examples"> + <fileset dir="examples"/> + </copy> + <copy toDir="${release_tmp_dir}"> + <fileset dir="bin"/> + </copy> + + <!-- create file containing the build info --> + <echo file="${release_tmp_dir}/build.txt" append="false">DL-Learner Build ${today}</echo> + + <!-- create empty log directory for release --> + <mkdir dir="${release_tmp_dir}/log" /> + + <!-- create tar.gz files (allows storing whether a file is executable) --> + <tar longfile="gnu" destfile="ore-nosource-${today}.tar.gz" compression="gzip"> + <!-- extra set for executable files --> + <tarfileset dir="release/" mode="755"> + <include name="${version_dir}/OREApplication" /> + </tarfileset> + <tarfileset dir="release/"> + <exclude name="${version_dir}/OREApplication"/> + </tarfileset> + </tar> + + <!-- copy source code --> + <mkdir dir="${release_tmp_dir}/src/"/> + <copy toDir="${release_tmp_dir}/src/"> + <fileset dir="${source_dir}" includes="**/*.java,**/*.html,**/*.gif,**/*.jjt,build.xml"/> + </copy> + + <!-- create backup (= standard build + source code + developer documentation) --> + <tar longfile="gnu" destfile="ore-${today}.tar.gz" compression="gzip"> + <tarfileset dir="release/" mode="755"> + <include name="${version_dir}/OREApplication" /> + </tarfileset> + <tarfileset dir="release/"> + <exclude name="${version_dir}/OREApplication"/> + </tarfileset> + </tar> + <delete dir="release"/> + </target> + </project> Added: trunk/lib/ore-tool/BrowserLauncher2-all-1_3.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/ore-tool/BrowserLauncher2-all-1_3.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/Info.java =================================================================== --- trunk/src/dl-learner/org/dllearner/Info.java 2009-09-24 08:51:02 UTC (rev 1860) +++ trunk/src/dl-learner/org/dllearner/Info.java 2009-09-24 10:46:15 UTC (rev 1861) @@ -1,8 +1,8 @@ -// File is updated automatically when a new version is created -package org.dllearner; + // File is updated automatically when a new version is created + package org.dllearner; -public class Info { - public static final String build = "2009-05-06"; -} - \ No newline at end of file + public class Info { + public static final String build = "2009-09-23"; + } + \ No newline at end of file Deleted: trunk/src/dl-learner/org/dllearner/tools/ore/Sparql.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/Sparql.java 2009-09-24 08:51:02 UTC (rev 1860) +++ trunk/src/dl-learner/org/dllearner/tools/ore/Sparql.java 2009-09-24 10:46:15 UTC (rev 1861) @@ -1,22 +0,0 @@ -package org.dllearner.tools.ore; - -import java.net.MalformedURLException; - -import org.dllearner.kb.sparql.SPARQLTasks; -import org.dllearner.kb.sparql.SparqlEndpoint; - -public class Sparql { - - /** - * @param args - * @throws MalformedURLException - */ - public static void main(String[] args) throws MalformedURLException { - SPARQLTasks task = new SPARQLTasks(SparqlEndpoint.getEndpointDBpedia()); - - String queryString = "SELECT DISTINCT ?class WHERE {?class rdf:type owl:Class ." + - "?class rdfs:label ?label . FILTER(regex(?label, \"City\")) }"; - System.out.println(task.queryAsSet(queryString, "class")); - } - -} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/IntroductionPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/IntroductionPanelDescriptor.java 2009-09-24 08:51:02 UTC (rev 1860) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/IntroductionPanelDescriptor.java 2009-09-24 10:46:15 UTC (rev 1861) @@ -20,23 +20,47 @@ package org.dllearner.tools.ore.ui.wizard.descriptors; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; + import org.dllearner.tools.ore.ui.wizard.WizardPanelDescriptor; import org.dllearner.tools.ore.ui.wizard.panels.IntroductionPanel; +import edu.stanford.ejalbert.BrowserLauncher; +import edu.stanford.ejalbert.exception.BrowserLaunchingInitializingException; +import edu.stanford.ejalbert.exception.UnsupportedOperatingSystemException; + /** * Wizard panel descriptor with some informations for the tool. * @author Lorenz Buehmann * */ -public class IntroductionPanelDescriptor extends WizardPanelDescriptor { +public class IntroductionPanelDescriptor extends WizardPanelDescriptor implements HyperlinkListener{ public static final String IDENTIFIER = "INTRODUCTION_PANEL"; public static final String INFORMATION = ""; + private BrowserLauncher launcher; public IntroductionPanelDescriptor() { - super(IDENTIFIER, new IntroductionPanel()); + IntroductionPanel panel = new IntroductionPanel(); + panel.addHyperLinkListener(this); + setPanelComponent(panel); + setPanelDescriptorIdentifier(IDENTIFIER); + + try { + launcher = new BrowserLauncher(); + } catch (BrowserLaunchingInitializingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (UnsupportedOperatingSystemException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } @Override @@ -53,6 +77,20 @@ public void aboutToDisplayPanel() { getWizard().getInformationField().setText(INFORMATION); } - + + @Override + public void hyperlinkUpdate(HyperlinkEvent event) { + + if(event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { + URL url; + try { + url = new URL(event.getDescription()); + launcher.openURLinBrowser(url.toString()); + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } } 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 2009-09-24 08:51:02 UTC (rev 1860) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/IntroductionPanel.java 2009-09-24 10:46:15 UTC (rev 1861) @@ -31,6 +31,7 @@ import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.UIManager; +import javax.swing.event.HyperlinkListener; /** * Wizard panel with introduction text. @@ -48,7 +49,7 @@ private final String titleText = "<html>Welcome to the DL-Learner ORE (Ontology Repair and Enrichment) Tool!<br>(Version 0.1)</html>"; - private final String introductionText = "<html>ORE is a tool for debugging and enriching OWL ontologies. It has the following features: " + + private final String introductionText = "<html><p>ORE is a tool for debugging and enriching OWL ontologies. It has the following features: </p>" + "<UL>" + "<LI>detection of inconsistencies" + "<LI>displaying explanations for those inconsistencies" + @@ -56,11 +57,11 @@ "<LI>enrichment of an ontology by learning definitions and super class axioms" + "<LI>guiding the user through potential consequences of adding those axioms" + "</UL>" + - "In a later version, the tool will also support the detection of various potential modelling problems." + - "ORE uses a wizard-style concept. On the left, you can see different steps in the wizard, where the current step is in bold. " + + "<p>In a later version, the tool will also support the detection of various potential modelling problems.</p>" + + "<p>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." + - "Please read the <a href=\"http://dl-learner.org/wiki/ORE\">the ORE wiki page</a> and view the <a href=\"...\">screencast</a> to get started.</html>"; + "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=\"...\">screencast</a> to get started.</p></html>"; public IntroductionPanel() { createUI(); @@ -94,5 +95,9 @@ c.weighty = 1.0; add(new JLabel(), c); } + + public void addHyperLinkListener(HyperlinkListener hL){ + instructionsField.addHyperlinkListener(hL); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2009-10-02 14:47:58
|
Revision: 1873 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1873&view=rev Author: jenslehmann Date: 2009-10-02 14:47:52 +0000 (Fri, 02 Oct 2009) Log Message: ----------- - nested cross validation script started for optimising a learning algorithm parameter (uses JOptSimple for parsing command line arguments) Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/scripts/CrossValidation.java Added Paths: ----------- trunk/lib/jopt-simple-3.1.jar trunk/src/dl-learner/org/dllearner/scripts/NestedCrossValidation.java trunk/src/dl-learner/org/dllearner/utilities/datastructures/TrainTestList.java Added: trunk/lib/jopt-simple-3.1.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/jopt-simple-3.1.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/scripts/CrossValidation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/CrossValidation.java 2009-10-02 14:20:58 UTC (rev 1872) +++ trunk/src/dl-learner/org/dllearner/scripts/CrossValidation.java 2009-10-02 14:47:52 UTC (rev 1873) @@ -134,7 +134,7 @@ if(lp instanceof PosNegLP) { - // get examples and shuffle them to + // get examples and shuffle them too Set<Individual> posExamples = ((PosNegLP)lp).getPositiveExamples(); List<Individual> posExamplesList = new LinkedList<Individual>(posExamples); Collections.shuffle(posExamplesList, new Random(1)); @@ -164,7 +164,7 @@ // calculating where to split the sets, ; note that we split // positive and negative examples separately such that the // distribution of positive and negative examples remains similar - // (note that there better but more complex ways to implement this, + // (note that there are better but more complex ways to implement this, // which guarantee that the sum of the elements of a fold for pos // and neg differs by at most 1 - it can differ by 2 in our implementation, // e.g. with 3 folds, 4 pos. examples, 4 neg. examples) @@ -293,7 +293,7 @@ return testSetNeg.size() - rs.hasType(concept, testSetNeg).size(); } - private Set<Individual> getTestingSet(List<Individual> examples, int[] splits, int fold) { + public static Set<Individual> getTestingSet(List<Individual> examples, int[] splits, int fold) { int fromIndex; // we either start from 0 or after the last fold ended if(fold == 0) @@ -311,14 +311,14 @@ return testingSet; } - private Set<Individual> getTrainingSet(Set<Individual> examples, Set<Individual> testingSet) { + public static Set<Individual> getTrainingSet(Set<Individual> examples, Set<Individual> testingSet) { return Helper.difference(examples, testingSet); } // takes nr. of examples and the nr. of folds for this examples; // returns an array which says where each fold ends, i.e. // splits[i] is the index of the last element of fold i in the examples - private int[] calculateSplits(int nrOfExamples, int folds) { + public static int[] calculateSplits(int nrOfExamples, int folds) { int[] splits = new int[folds]; for(int i=1; i<=folds; i++) { // we always round up to the next integer Added: trunk/src/dl-learner/org/dllearner/scripts/NestedCrossValidation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/NestedCrossValidation.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/scripts/NestedCrossValidation.java 2009-10-02 14:47:52 UTC (rev 1873) @@ -0,0 +1,305 @@ +/** + * Copyright (C) 2007-2009, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.scripts; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.text.DecimalFormat; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.Random; +import java.util.Set; +import java.util.TreeSet; + +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; +import org.dllearner.cli.Start; +import org.dllearner.core.ComponentInitException; +import org.dllearner.core.ComponentManager; +import org.dllearner.core.LearningAlgorithm; +import org.dllearner.core.LearningProblem; +import org.dllearner.core.ReasonerComponent; +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.learningproblems.PosNegLP; +import org.dllearner.parser.ParseException; +import org.dllearner.utilities.Helper; +import org.dllearner.utilities.datastructures.TrainTestList; + +import joptsimple.OptionParser; +import joptsimple.OptionSet; + +import static java.util.Arrays.*; + +/** + * Performs nested cross validation for the given problem. A k fold outer and l + * fold inner cross validation is used. Parameters: + * <ul> + * <li>The conf file to use.</li> + * <li>k (number of outer folds)</li> + * <li>l (number of inner folds)</li> + * <li>parameter name to vary</li> + * <li>a set of parameter values to test</li> + * </ul> + * + * Example arguments: bla.conf 10 5 noise 25-40 + * + * Currently, only the optimisation of a single parameter is supported. + * + * Later versions may include support for testing a variety of parameters, e.g. + * --conf bla.conf --outerfolds 10 --innerfolds 5 --complexparameters= + * "para1=val1;...paran=valn#...#para1=val1;...paran=valn" This tests all + * parameter combinations separated by #. + * + * Alternatively: --conf bla.conf --outerfolds 10 --innerfolds 5 --parameters= + * "para1#para2#para3" --values="25-40#(high,medium,low)#boolean" This tests all + * combinations of parameters and given values, where the script recognises + * special patterns, e.g. integer ranges or the keyword boolean for + * "true/false". + * + * Currently, only learning from positive and negative examples is supported. + * + * @author Jens Lehmann + * + */ +public class NestedCrossValidation { + + /** + * Entry method, which uses JOptSimple to parse parameters. + * + * @param args + * Command line arguments (see class documentation). + * @throws IOException + * @throws ParseException + * @throws ComponentInitException + */ + public static void main(String[] args) throws IOException, ComponentInitException, ParseException { + + OptionParser parser = new OptionParser(); + parser.acceptsAll(asList("h", "?", "help"), "Show help."); + parser.acceptsAll(asList("c", "conf"), "Conf file to use.").withRequiredArg().ofType( + File.class); + parser.acceptsAll(asList( "v", "verbose"), "Be more verbose."); + parser.acceptsAll(asList( "o", "outerfolds"), "Number of outer folds.").withRequiredArg().ofType(Integer.class).describedAs("#folds"); + parser.acceptsAll(asList( "i", "innerfolds"), "Number of inner folds.").withRequiredArg().ofType(Integer.class).describedAs("#folds"); + parser.acceptsAll(asList( "p", "parameter"), "Parameter to vary.").withRequiredArg(); + parser.acceptsAll(asList( "r", "pvalues", "range"), "Values of parameter. $x-$y can be used for integer ranges.").withRequiredArg(); + + // parse options and display a message for the user in case of problems + OptionSet options = null; + try { + options = parser.parse(args); + } catch(Exception e) { + System.out.println("Error: " + e.getMessage() + ". Use -? to get help."); + System.exit(0); + } + + // print help screen + if (options.has("?")) { + parser.printHelpOn(System.out); + // all options present => start nested cross validation + } else if(options.has("c") && options.has("o") && options.has("i") && options.has("p") && options.has("r")) { + // read all options in variables and parse option values + File confFile = (File) options.valueOf("c"); + int outerFolds = (Integer) options.valueOf("o"); + int innerFolds = (Integer) options.valueOf("i"); + String parameter = (String) options.valueOf("p"); + String range = (String) options.valueOf("r"); + String[] rangeSplit = range.split("-"); + int rangeStart = new Integer(rangeSplit[0]); + int rangeEnd = new Integer(rangeSplit[1]); + + // create logger (a simple logger which outputs + // its messages to the console) + SimpleLayout layout = new SimpleLayout(); + ConsoleAppender consoleAppender = new ConsoleAppender(layout); + Logger logger = Logger.getRootLogger(); + logger.removeAllAppenders(); + logger.addAppender(consoleAppender); + logger.setLevel(Level.WARN); + // disable OWL API info output + java.util.logging.Logger.getLogger("").setLevel(java.util.logging.Level.WARNING); + + new NestedCrossValidation(confFile, outerFolds, innerFolds, parameter, rangeStart, rangeEnd); + + // an option is missing => print help screen and message + } else { + parser.printHelpOn(System.out); + System.out.println("\nYou need to specify the options c, i, o, p, r. Please consult the help table above."); + } + + } + + public NestedCrossValidation(File confFile, int outerFolds, int innerFolds, String parameter, int startValue, int endValue) throws FileNotFoundException, ComponentInitException, ParseException { + + DecimalFormat df = new DecimalFormat(); + ComponentManager cm = ComponentManager.getInstance(); + + Start start = new Start(confFile); + LearningProblem lp = start.getLearningProblem(); + + if(!(lp instanceof PosNegLP)) { + System.out.println("Positive only learning not supported yet."); + System.exit(0); + } + + // get examples and shuffle them + LinkedList<Individual> posExamples = new LinkedList<Individual>(((PosNegLP)lp).getPositiveExamples()); + Collections.shuffle(posExamples, new Random(1)); + LinkedList<Individual> negExamples = new LinkedList<Individual>(((PosNegLP)lp).getNegativeExamples()); + Collections.shuffle(negExamples, new Random(2)); + + List<TrainTestList> posLists = getFolds(posExamples, outerFolds); + List<TrainTestList> negLists = getFolds(negExamples, outerFolds); + + for(int currOuterFold=0; currOuterFold<outerFolds; currOuterFold++) { + + System.out.println("Start processing outer fold " + currOuterFold); + TrainTestList posList = posLists.get(currOuterFold); + TrainTestList negList = negLists.get(currOuterFold); + + for(int currParaValue=startValue; currParaValue<=endValue; currParaValue++) { + + System.out.println(" Start Processing parameter value " + currParaValue); + // split train folds again (computation of inner folds for each parameter + // value is redundant, but not a big problem) + List<Individual> trainPosList = posList.getTrainList(); + List<TrainTestList> innerPosLists = getFolds(trainPosList, innerFolds); + List<Individual> trainNegList = negList.getTrainList(); + List<TrainTestList> innerNegLists = getFolds(trainNegList, innerFolds); + + for(int currInnerFold=0; currInnerFold<innerFolds; currInnerFold++) { + + System.out.println(" Inner fold " + currInnerFold + " ... "); + // get positive & negative examples for training run + List<Individual> posEx = innerPosLists.get(currInnerFold).getTrainList(); + List<Individual> negEx = innerNegLists.get(currInnerFold).getTrainList(); + + // read conf file and exchange options for pos/neg examples + // and parameter to optimise + start = new Start(confFile); + lp = start.getLearningProblem(); + cm.applyConfigEntry(lp, "positiveExamples", posEx); + cm.applyConfigEntry(lp, "negativeExamples", negEx); + LearningAlgorithm la = start.getLearningAlgorithm(); + cm.applyConfigEntry(la, parameter, (double)currParaValue); + + lp.init(); + la.init(); + la.start(); + + // evaluate learned expression + Description concept = la.getCurrentlyBestDescription(); + + TreeSet<Individual> posTest = new TreeSet<Individual>(innerPosLists.get(currInnerFold).getTestList()); + TreeSet<Individual> negTest = new TreeSet<Individual>(innerNegLists.get(currInnerFold).getTestList()); + + ReasonerComponent rs = start.getReasonerComponent(); + Set<Individual> posCorrect = rs.hasType(concept, posTest); + Set<Individual> posError = Helper.difference(posTest, posCorrect); + Set<Individual> negError = rs.hasType(concept, negTest); + Set<Individual> negCorrect = Helper.difference(negTest, negError); + +// System.out.println("test set errors pos: " + tmp2); +// System.out.println("test set errors neg: " + tmp3); + + double accuracy = 100*((double)(posCorrect.size()+negCorrect.size())/(posTest.size()+negTest.size())); + + System.out.println(" accuracy: " + df.format(accuracy)); + + // free memory + rs.releaseKB(); + cm.freeAllComponents(); + } + + } + + } + + /* + + // calculate splits using CV class + int[] splitsPos = CrossValidation.calculateSplits(posExamples.size(), outerFolds); + int[] splitsNeg = CrossValidation.calculateSplits(negExamples.size(), outerFolds); + + // the training and test sets used later on +// List<List<Individual>> trainingSetsPos = new LinkedList<List<Individual>>(); +// List<List<Individual>> trainingSetsNeg = new LinkedList<List<Individual>>(); +// List<List<Individual>> testSetsPos = new LinkedList<List<Individual>>(); +// List<List<Individual>> testSetsNeg = new LinkedList<List<Individual>>(); + + // calculating training and test sets for outer folds + for(int i=0; i<outerFolds; i++) { + + + + // sets for positive examples + int posFromIndex = (i==0) ? 0 : splitsPos[i-1]; + int posToIndex = splitsPos[i]; + List<Individual> testPos = posExamples.subList(posFromIndex, posToIndex); + List<Individual> trainPos = new LinkedList<Individual>(posExamples); + trainPos.removeAll(testPos); + + // sets for negative examples + int negFromIndex = (i==0) ? 0 : splitsNeg[i-1]; + int negToIndex = splitsNeg[i]; + List<Individual> testNeg = posExamples.subList(negFromIndex, negToIndex); + List<Individual> trainNeg = new LinkedList<Individual>(negExamples); + trainNeg.removeAll(testNeg); + + // split train folds + int[] innerSplitPos = CrossValidation.calculateSplits(trainPos.size(), innerFolds); + int[] innerSplitNeg = CrossValidation.calculateSplits(trainNeg.size(), innerFolds); + + for(int j=0; j<innerFolds; j++) { + + } + + // add to list of folds +// trainingSetsPos.add(trainPos); +// trainingSetsNeg.add(trainNeg); +// testSetsPos.add(testPos); +// testSetsNeg.add(testNeg); + } + + */ + + } + + // convenience methods, which takes a list of examples and divides them in + // train-test-lists according to the number of folds specified + public static List<TrainTestList> getFolds(List<Individual> list, int folds) { + List<TrainTestList> ret = new LinkedList<TrainTestList>(); + int[] splits = CrossValidation.calculateSplits(list.size(), folds); + for(int i=0; i<folds; i++) { + int fromIndex = (i==0) ? 0 : splits[i-1]; + int toIndex = splits[i]; + List<Individual> test = list.subList(fromIndex, toIndex); + List<Individual> train = new LinkedList<Individual>(list); + train.removeAll(test); + ret.add(new TrainTestList(train, test)); + } + return ret; + } +} Added: trunk/src/dl-learner/org/dllearner/utilities/datastructures/TrainTestList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/datastructures/TrainTestList.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/datastructures/TrainTestList.java 2009-10-02 14:47:52 UTC (rev 1873) @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2007-2009, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.utilities.datastructures; + +import java.util.LinkedList; +import java.util.List; + +import org.dllearner.core.owl.Individual; + +/** + * A tuple of training set and test set. + * + * @author Jens Lehmann + * + */ +public class TrainTestList { + + private List<Individual> trainList; + private List<Individual> testList; + + public TrainTestList() { + trainList = new LinkedList<Individual>(); + testList = new LinkedList<Individual>(); + } + + public TrainTestList(List<Individual> trainList, List<Individual> testList) { + this.trainList = trainList; + this.testList = testList; + } + + public List<Individual> getTrainList() { + return trainList; + } + + public List<Individual> getTestList() { + return testList; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2009-11-11 21:04:38
|
Revision: 1910 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1910&view=rev Author: jenslehmann Date: 2009-11-11 21:04:26 +0000 (Wed, 11 Nov 2009) Log Message: ----------- PostgreSQL ms2ph to OWL conversion implemented Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java Added Paths: ----------- trunk/lib/db/ trunk/lib/db/postgresql-8.4-701.jdbc4.jar Removed Paths: ------------- trunk/lib/mysql/ Added: trunk/lib/db/postgresql-8.4-701.jdbc4.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/db/postgresql-8.4-701.jdbc4.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java 2009-11-05 09:06:10 UTC (rev 1909) +++ trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java 2009-11-11 21:04:26 UTC (rev 1910) @@ -62,7 +62,7 @@ // whether to generate a class containing the positive examples private static boolean generatePosExampleClass = true; // set to true if accessing PostreSQL and false for MySQL - private static boolean pgSQL = false; + private static boolean pgSQL = true; public static void main(String[] args) throws ClassNotFoundException, BackingStoreException, SQLException { @@ -79,7 +79,8 @@ String url = "jdbc:"; if(pgSQL) { Class.forName("org.postgresql.Driver"); - url += "postgresql://"+dbServer+":5432/"+dbName; + // adapt the port if necessary + url += "postgresql://"+dbServer+":5433/"+dbName; } else { Class.forName("com.mysql.jdbc.Driver"); url += "mysql://"+dbServer+":3306/"+dbName; @@ -234,7 +235,13 @@ // select data (restricted to pos/neg examples for efficiency) Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("SELECT * FROM " + table + " WHERE (gain_contact is not null) && (gain_contact != 0)"); + ResultSet rs = null; + if(pgSQL) { + // join tables + rs = stmt.executeQuery("SELECT * FROM fiche_mutant, mutants WHERE fiche_mutant.id = mutants.id AND(gain_contact is not null)"); + } else { + rs = stmt.executeQuery("SELECT * FROM " + table + " WHERE (gain_contact is not null) AND (gain_contact != 0)"); + } int count = 0; while(rs.next()) { @@ -375,8 +382,13 @@ // selecting examples // -> only a fraction of examples are selected as positive/negative - rs = stmt.executeQuery("SELECT * FROM " + table + " WHERE " //lower(phenotype) not like 'polymorphism' AND " - + " (gain_contact is not null) && (gain_contact != 0)"); + if(pgSQL) { + rs = stmt.executeQuery("SELECT * FROM fiche_mutant, mutants WHERE fiche_mutant.id=mutants.id AND " //lower(phenotype) not like 'polymorphism' AND " + + " (gain_contact is not null) AND (gain_contact != 0)"); + } else { + rs = stmt.executeQuery("SELECT * FROM " + table + " WHERE " //lower(phenotype) not like 'polymorphism' AND " + + " (gain_contact is not null) AND (gain_contact != 0)"); + } List<Individual> posExamples = new LinkedList<Individual>(); List<Individual> negExamples = new LinkedList<Individual>(); while(rs.next()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-11-23 20:57:23
|
Revision: 1915 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1915&view=rev Author: lorenz_b Date: 2009-11-23 20:57:15 +0000 (Mon, 23 Nov 2009) Log Message: ----------- Fixed some bugs. Fixed wrong informations shown in class choose wizard step. Updated Pellet reasoner libs to final version 2.0. Modified Paths: -------------- trunk/lib/pellet/pellet-core.jar trunk/lib/pellet/pellet-datatypes.jar trunk/lib/pellet/pellet-el.jar trunk/lib/pellet/pellet-explanation.jar trunk/lib/pellet/pellet-modularity.jar trunk/lib/pellet/pellet-owlapi.jar trunk/lib/pellet/pellet-rules.jar trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.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/laconic/LaconicExplanationGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/UnsatisfiableExplanationPanel.java Modified: trunk/lib/pellet/pellet-core.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-datatypes.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-el.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-explanation.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-modularity.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-owlapi.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-rules.jar =================================================================== (Binary files differ) Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -294,6 +294,10 @@ return gen.getSourceAxioms(ax); } + public Set<OWLAxiom> getLaconicSourceAxioms(OWLAxiom ax){ + return gen.getLaconicSourceAxioms(ax); + } + public Set<OWLAxiom> getRemainingAxioms(OWLAxiom source, OWLAxiom part){ return gen.getRemainingAxioms(source, part); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -26,7 +26,7 @@ private int currentDescriptionIndex = 0; - public static LearningManager getInstance(){ + public static synchronized LearningManager getInstance(){ if(instance == null){ instance = new LearningManager(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -1,11 +1,15 @@ package org.dllearner.tools.ore; import java.util.ArrayList; +import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import java.util.Stack; import org.mindswap.pellet.owlapi.Reasoner; import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLOntologyChange; import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyManager; @@ -20,10 +24,15 @@ private OWLOntologyManager manager; private Reasoner reasoner; - private List<OWLOntologyChange> repairPlan; + private Set<OWLOntologyChange> repairPlan; private Stack<List<OWLOntologyChange>> undoStack; private Stack<List<OWLOntologyChange>> redoStack; + + private Set<OWLAxiom> selectedAxioms; + + private Set<OWLAxiom> scheduled2Remove; + private Set<OWLAxiom> scheduled2Add; private RepairManager(OREManager oreMan){ this.reasoner = oreMan.getReasoner().getReasoner(); @@ -34,8 +43,13 @@ undoStack = new Stack<List<OWLOntologyChange>>(); redoStack = new Stack<List<OWLOntologyChange>>(); - repairPlan = new ArrayList<OWLOntologyChange>(); + repairPlan = new LinkedHashSet<OWLOntologyChange>(); + selectedAxioms = new HashSet<OWLAxiom>(); + + scheduled2Remove = new HashSet<OWLAxiom>(); + scheduled2Add = new HashSet<OWLAxiom>(); + oreMan.addListener(this); } @@ -61,26 +75,69 @@ public void addToRepairPlan(OWLOntologyChange change){ repairPlan.add(change); + if(change instanceof RemoveAxiom){ + scheduled2Remove.add(change.getAxiom()); + } else { + scheduled2Add.add(change.getAxiom()); + } fireRepairPlanChanged(); } public void addToRepairPlan(List<OWLOntologyChange> changes){ - repairPlan.addAll(changes); + for(OWLOntologyChange change : changes){ + if(change instanceof RemoveAxiom){ + if(scheduled2Add.contains(change.getAxiom())){ + scheduled2Add.remove(change.getAxiom()); + repairPlan.remove(new AddAxiom(change.getOntology(), change.getAxiom())); + } else { + scheduled2Remove.add(change.getAxiom()); + repairPlan.add(change); + } + + } else { + scheduled2Add.add(change.getAxiom()); + repairPlan.add(change); + } + + } +// repairPlan.addAll(changes); fireRepairPlanChanged(); } public void removeFromRepairPlan(OWLOntologyChange change){ repairPlan.remove(change); + if(change instanceof RemoveAxiom){ + scheduled2Remove.remove(change.getAxiom()); + } else { + scheduled2Add.remove(change.getAxiom()); + } fireRepairPlanChanged(); } public void removeFromRepairPlan(List<OWLOntologyChange> changes){ - repairPlan.removeAll(changes); + for(OWLOntologyChange change : changes){ + if(change instanceof RemoveAxiom){ + scheduled2Remove.add(change.getAxiom()); + } else { + scheduled2Add.add(change.getAxiom()); + } + repairPlan.remove(change); + } +// repairPlan.removeAll(changes); fireRepairPlanChanged(); } + + public boolean isScheduled2Remove(OWLAxiom ax){ + return scheduled2Remove.contains(ax); + } + + public boolean isScheduled2Add(OWLAxiom ax){ + return scheduled2Add.contains(ax); + } + public List<OWLOntologyChange> getRepairPlan(){ - return repairPlan; + return new ArrayList<OWLOntologyChange>(repairPlan); } public boolean isUndoable(){ @@ -90,7 +147,7 @@ public void executeRepairPlan(){ try { - manager.applyChanges(repairPlan); + manager.applyChanges(new ArrayList<OWLOntologyChange>(repairPlan)); } catch (OWLOntologyChangeException e) { System.out.println("Error in Repairmanager: Couldn't apply ontology changes"); e.printStackTrace(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/CachedExplanationGenerator.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -299,6 +299,10 @@ return laconicExpGen.getSourceAxioms(ax); } + public Set<OWLAxiom> getLaconicSourceAxioms(OWLAxiom ax){ + return laconicExpGen.getLaconicSourceAxioms(ax); + } + public Set<OWLAxiom> getRemainingAxioms(OWLAxiom source, OWLAxiom part){ return laconicExpGen.getRemainingAxioms(source, part); } 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-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/laconic/LaconicExplanationGenerator.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -333,9 +333,20 @@ return sourceAxioms; } + public Set<OWLAxiom> getLaconicSourceAxioms(OWLAxiom axiom){ + Map<OWLAxiom, Set<OWLAxiom>> axioms2SourceMap = oPlus.getAxiomsMap(); + Set<OWLAxiom> sourceAxioms = new HashSet<OWLAxiom>(); + sourceAxioms.addAll(axioms2SourceMap.get(axiom)); + + return sourceAxioms; + } + public Set<OWLAxiom> getRemainingAxioms(OWLAxiom source, OWLAxiom part){ Set<OWLAxiom> parts = computeOPlus(Collections.singleton(source)); - + for(OWLAxiom p : parts){ + System.out.println("Part: " + p); + System.out.println(oPlus.getAxiomsMap().get(p)); + } for(OWLAxiom ax : oPlus.getAxiomsMap().get(part)){ parts.remove(ax); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTableModel.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -81,7 +81,7 @@ OWLAxiom ax = getOWLAxiomAtRow(rowIndex); if(impMan.isSelected(ax)){ impMan.removeSelection(ax); - if(expMan.isLaconicMode() && !ont.containsAxiom(ax)){ + if(!ont.containsAxiom(ax)){ List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); for(OWLAxiom source : expMan.getSourceAxioms(ax)){ impMan.removeSelection(source); @@ -96,7 +96,7 @@ } } else { // impMan.addSelection(ax); - if(expMan.isLaconicMode() && !ont.containsAxiom(ax)){ + if(!ont.containsAxiom(ax)){ // List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(); // for(OWLAxiom source : expMan.getSourceAxioms(ax)){ // impMan.addSelection(source); @@ -111,6 +111,12 @@ if(ret == RemainingAxiomsDialog.OK_RETURN_CODE){ impMan.addSelection(ax); List<OWLOntologyChange> changes = dialog.getChanges(); + for(OWLAxiom source : expMan.getLaconicSourceAxioms(ax)){ + if(repMan.isScheduled2Add(source)){ + changes.add(new RemoveAxiom(ont, source)); + } + + } repMan.addToRepairPlan(changes); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RemainingAxiomsTable.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -3,7 +3,7 @@ import java.awt.Color; import java.util.List; -import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxTableCellRenderer; +import org.dllearner.tools.ore.ui.rendering.TextAreaRenderer; import org.jdesktop.swingx.JXTable; import org.semanticweb.owl.model.OWLAxiom; @@ -18,8 +18,7 @@ setBackground(Color.WHITE); setModel(new RemainingAxiomsTableModel(remainingAxioms)); - setRowHeight(getRowHeight() + 5); - getColumn(0).setCellRenderer(new ManchesterSyntaxTableCellRenderer()); + getColumn(0).setCellRenderer(new TextAreaRenderer()); getColumn(1).setMaxWidth(30); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -63,9 +63,12 @@ /** * Information string for class choose panel. */ - public static final String INFORMATION = "Above all atomic classes which have at least one individual are listed. " - + "Select one of them for which you want to learn equivalent class expressions," + - " then press <Next>"; + public static final String AUTO_LEARN_INFORMATION = "Adjust the parameters for automatic learning mode, " + +"then press <Next>"; + + public static final String MANUAL_LEARN_INFORMATION = "Above all atomic classes which have at least one individual are listed. " + + "Select one of them for which you want to learn equivalent class or superclass expressions," + + " then press <Next>"; private ClassChoosePanel classChoosePanel; private Map<Integer, Set<NamedClass>> instanceCountToClasses; @@ -104,7 +107,12 @@ @Override public void aboutToDisplayPanel() { - getWizard().getInformationField().setText(INFORMATION); + if(isAutoLearningMode()){ + getWizard().getInformationField().setText(AUTO_LEARN_INFORMATION); + } else { + getWizard().getInformationField().setText(MANUAL_LEARN_INFORMATION); + } + setNextButtonAccordingToConceptSelected(); } @@ -210,9 +218,11 @@ public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("auto")){ classChoosePanel.setAutoLearningPanel(true); + getWizard().getInformationField().setText(AUTO_LEARN_INFORMATION); LearningManager.getInstance().setLearningMode(LearningManager.AUTO_LEARN_MODE); } else { classChoosePanel.setAutoLearningPanel(false); + getWizard().getInformationField().setText(MANUAL_LEARN_INFORMATION); LearningManager.getInstance().setLearningMode(LearningManager.MANUAL_LEARN_MODE); retrieveClasses(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/UnsatisfiableExplanationPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/UnsatisfiableExplanationPanel.java 2009-11-23 14:35:21 UTC (rev 1914) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/UnsatisfiableExplanationPanel.java 2009-11-23 20:57:15 UTC (rev 1915) @@ -56,7 +56,10 @@ private JPanel buttonExplanationsPanel; + private final String EXPLANATION_TYPE_TEXT = ""; + private final String EXPLANATION_COUNT_TEXT = ""; + private ButtonGroup explanationType; private JRadioButton regularButton; @@ -185,8 +188,8 @@ explanationTypePanel.add(preciseButton, c); HelpablePanel explanationTypeHelpPanel = new HelpablePanel(explanationTypePanel); explanationTypeHelpPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED)); + explanationTypeHelpPanel.setHelpText(EXPLANATION_TYPE_TEXT); - JPanel explanationCountPanel = new JPanel(new GridBagLayout()); maxExplanationsSelector = new JSpinner(); @@ -212,6 +215,7 @@ HelpablePanel explanationCountHelpPanel = new HelpablePanel(explanationCountPanel); explanationCountHelpPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED)); + explanationCountHelpPanel.setHelpText(EXPLANATION_COUNT_TEXT); strikeOutBox = new JCheckBox("Strike out irrelevant parts"); strikeOutBox.setActionCommand("strike"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2009-12-01 17:59:18
|
Revision: 1927 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1927&view=rev Author: jenslehmann Date: 2009-12-01 17:59:11 +0000 (Tue, 01 Dec 2009) Log Message: ----------- - max execution time for EL base algorithm implemented - cross benchmark extended - several small changes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java trunk/src/dl-learner/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithm.java trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmConfigurator.java trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmDisjunctiveConfigurator.java trunk/src/dl-learner/org/dllearner/core/configurators/PosNegLPStandardConfigurator.java trunk/src/dl-learner/org/dllearner/core/options/CommonConfigOptions.java trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java trunk/src/dl-learner/org/dllearner/learningproblems/PosNegLPStandard.java trunk/src/dl-learner/org/dllearner/refinementoperators/ELDown2.java trunk/src/dl-learner/org/dllearner/refinementoperators/Utility.java trunk/src/dl-learner/org/dllearner/scripts/PaperStatistics.java trunk/src/dl-learner/org/dllearner/test/junit/ELDownTests.java trunk/src/dl-learner/org/dllearner/test/junit/TestOntologies.java Added Paths: ----------- trunk/examples/cross-benchmark/arch/arch_el.conf trunk/examples/cross-benchmark/arch/arch_el_disjunctive.conf trunk/examples/cross-benchmark/forte/uncle_el.conf trunk/examples/cross-benchmark/forte/uncle_el_disjunctive.conf trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el.conf trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el_disjunctive.conf trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el.conf trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el_disjunctive.conf trunk/examples/cross-benchmark/poker/pair_el.conf trunk/examples/cross-benchmark/poker/pair_el_disjunctive.conf trunk/examples/cross-benchmark/poker/straight_el.conf trunk/examples/cross-benchmark/poker/straight_el_disjunctive.conf trunk/examples/cross-benchmark/trains/trains_el.conf trunk/examples/cross-benchmark/trains/trains_el_disjunctive.conf Added: trunk/examples/cross-benchmark/arch/arch_el.conf =================================================================== --- trunk/examples/cross-benchmark/arch/arch_el.conf (rev 0) +++ trunk/examples/cross-benchmark/arch/arch_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,10 @@ +algorithm = el; +el.instanceBasedDisjoints = false; +reasoner = owlAPIReasoner; +import("arch.owl"); + ++c1 ++c4 +-c2 +-c3 +-c5 Added: trunk/examples/cross-benchmark/arch/arch_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/arch/arch_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/arch/arch_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,10 @@ +algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +reasoner = owlAPIReasoner; +import("arch.owl"); + ++c1 ++c4 +-c2 +-c3 +-c5 Added: trunk/examples/cross-benchmark/forte/uncle_el.conf =================================================================== --- trunk/examples/cross-benchmark/forte/uncle_el.conf (rev 0) +++ trunk/examples/cross-benchmark/forte/uncle_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,116 @@ +/** + * Extracted from the FORTE (First Order Revision of Theories from Examples) + * data set: + * + * http://www.cs.utexas.edu/users/ml/forte.html + * + * The goal of this learning problem is to learn the concept of an uncle. + * + * In the file forte_family.kb, you can find a graphical representation of the + * family tree corresponding to the facts in this file. + * + * possible solution: (male AND (EXISTS hasSibling.EXISTS hasChild.TOP + * OR EXISTS married.EXISTS hasSibling.EXISTS hasChild.TOP)) + * + * Copyright (C) 2007, Jens Lehmann + */ + + +algorithm = el; +el.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +import("forte_family.owl"); + +/** examples **/ + + +// complete example set ++art ++calvin ++carlos ++david ++eric ++fred ++frederick ++george ++harry ++jack ++james ++jonas ++karl ++leon ++mark ++melvin ++neil ++nero ++owen ++paul ++peter ++umo ++walt + +-alfred +-alice +-angela +-ann +-beatrice +-bob +-callie +-carl +-christy +-cornelia +-deanna +-elisa +-f12 +-f14 +-f19 +-f2 +-f20 +-f21 +-f22 +-f23 +-f25 +-f26 +-f28 +-f8 +-fannie +-gail +-helen +-jane +-janet +-kari +-lorrie +-m1 +-m10 +-m11 +-m13 +-m15 +-m16 +-m17 +-m18 +-m24 +-m27 +-m29 +-m3 +-m4 +-m5 +-m6 +-m7 +-m9 +-maria +-martha +-nancy +-nonnie +-oma +-paula +-prissie +-rachel +-ray +-regina +-steve +-susan +-terri +-terry +-wendy + Added: trunk/examples/cross-benchmark/forte/uncle_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/forte/uncle_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/forte/uncle_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,116 @@ +/** + * Extracted from the FORTE (First Order Revision of Theories from Examples) + * data set: + * + * http://www.cs.utexas.edu/users/ml/forte.html + * + * The goal of this learning problem is to learn the concept of an uncle. + * + * In the file forte_family.kb, you can find a graphical representation of the + * family tree corresponding to the facts in this file. + * + * possible solution: (male AND (EXISTS hasSibling.EXISTS hasChild.TOP + * OR EXISTS married.EXISTS hasSibling.EXISTS hasChild.TOP)) + * + * Copyright (C) 2007, Jens Lehmann + */ + + +algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +import("forte_family.owl"); + +/** examples **/ + + +// complete example set ++art ++calvin ++carlos ++david ++eric ++fred ++frederick ++george ++harry ++jack ++james ++jonas ++karl ++leon ++mark ++melvin ++neil ++nero ++owen ++paul ++peter ++umo ++walt + +-alfred +-alice +-angela +-ann +-beatrice +-bob +-callie +-carl +-christy +-cornelia +-deanna +-elisa +-f12 +-f14 +-f19 +-f2 +-f20 +-f21 +-f22 +-f23 +-f25 +-f26 +-f28 +-f8 +-fannie +-gail +-helen +-jane +-janet +-kari +-lorrie +-m1 +-m10 +-m11 +-m13 +-m15 +-m16 +-m17 +-m18 +-m24 +-m27 +-m29 +-m3 +-m4 +-m5 +-m6 +-m7 +-m9 +-maria +-martha +-nancy +-nonnie +-oma +-paula +-prissie +-rachel +-ray +-regina +-steve +-susan +-terri +-terry +-wendy + Added: trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el.conf =================================================================== --- trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el.conf (rev 0) +++ trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,63 @@ + /*********************** + solution is: +(severity_harm AND (NOT benefit_victim) AND (vicarious OR voluntary)) + + + Examples: + 23 positive + 20 negative + + ***********************/ + algorithm = el; +el.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +/** background knowledge **/ +import("moral_43instances_complex.owl"); + + +/** Examples **/ ++p0 ++p1 ++p2 ++p3 ++p4 ++p5 ++p6 ++p7 ++p8 ++p9 ++p10 ++p90 ++p91 ++p92 ++p93 ++p94 ++p95 ++p96 ++p97 ++p98 ++p99 ++p100 ++p101 +-n0 +-n1 +-n2 +-n3 +//-n4 +-n5 +-n6 +-n7 +-n8 +-n9 +-n10 +-n90 +-n91 +-n92 +-n93 +-n94 +-n95 +-n96 +-n97 +-n98 +-n99 Added: trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_complex_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,63 @@ + /*********************** + solution is: +(severity_harm AND (NOT benefit_victim) AND (vicarious OR voluntary)) + + + Examples: + 23 positive + 20 negative + + ***********************/ + algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +/** background knowledge **/ +import("moral_43instances_complex.owl"); + + +/** Examples **/ ++p0 ++p1 ++p2 ++p3 ++p4 ++p5 ++p6 ++p7 ++p8 ++p9 ++p10 ++p90 ++p91 ++p92 ++p93 ++p94 ++p95 ++p96 ++p97 ++p98 ++p99 ++p100 ++p101 +-n0 +-n1 +-n2 +-n3 +//-n4 +-n5 +-n6 +-n7 +-n8 +-n9 +-n10 +-n90 +-n91 +-n92 +-n93 +-n94 +-n95 +-n96 +-n97 +-n98 +-n99 Added: trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el.conf =================================================================== --- trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el.conf (rev 0) +++ trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,63 @@ + /*********************** + solution should be: + guilty = (blameworthy OR vicarious_blame ). + + + Examples: + 23 positive + 20 negative + + ***********************/ +algorithm = el; +el.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; + /** background knowledge **/ + import("moral_43instances.owl"); + + + /** Examples **/ + +p0 + +p1 + +p2 + +p3 + +p4 + +p5 + +p6 + +p7 + +p8 + +p9 + +p10 + +p90 + +p91 + +p92 + +p93 + +p94 + +p95 + +p96 + +p97 + +p98 + +p99 + +p100 + +p101 + -n0 + -n1 + -n2 + -n3 + //-n4 + -n5 + -n6 + -n7 + -n8 + -n9 + -n10 + -n90 + -n91 + -n92 + -n93 + -n94 + -n95 + -n96 + -n97 + -n98 + -n99 Added: trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/moral_reasoner/moral_43examples_simple_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,63 @@ + /*********************** + solution should be: + guilty = (blameworthy OR vicarious_blame ). + + + Examples: + 23 positive + 20 negative + + ***********************/ +algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; + /** background knowledge **/ + import("moral_43instances.owl"); + + + /** Examples **/ + +p0 + +p1 + +p2 + +p3 + +p4 + +p5 + +p6 + +p7 + +p8 + +p9 + +p10 + +p90 + +p91 + +p92 + +p93 + +p94 + +p95 + +p96 + +p97 + +p98 + +p99 + +p100 + +p101 + -n0 + -n1 + -n2 + -n3 + //-n4 + -n5 + -n6 + -n7 + -n8 + -n9 + -n10 + -n90 + -n91 + -n92 + -n93 + -n94 + -n95 + -n96 + -n97 + -n98 + -n99 Added: trunk/examples/cross-benchmark/poker/pair_el.conf =================================================================== --- trunk/examples/cross-benchmark/poker/pair_el.conf (rev 0) +++ trunk/examples/cross-benchmark/poker/pair_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,64 @@ +/** + * See pair.conf. This is the same learning problem, but loading + * background knowledge from an OWL file instead. + * + * Copyright (C) 2007, Jens Lehmann + */ +algorithm = el; +el.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; + +/*Background knowledge*/ +import("pair50.owl"); + +/*Examples*/ +-"http://localhost/foo#hand0" +-"http://localhost/foo#hand1" +-"http://localhost/foo#hand2" +-"http://localhost/foo#hand3" +-"http://localhost/foo#hand4" +-"http://localhost/foo#hand5" +-"http://localhost/foo#hand6" +-"http://localhost/foo#hand7" +-"http://localhost/foo#hand8" ++"http://localhost/foo#hand9" +-"http://localhost/foo#hand10" +-"http://localhost/foo#hand11" +-"http://localhost/foo#hand12" ++"http://localhost/foo#hand13" +-"http://localhost/foo#hand14" +-"http://localhost/foo#hand15" +-"http://localhost/foo#hand16" +-"http://localhost/foo#hand17" ++"http://localhost/foo#hand18" ++"http://localhost/foo#hand19" +-"http://localhost/foo#hand20" ++"http://localhost/foo#hand21" ++"http://localhost/foo#hand22" ++"http://localhost/foo#hand23" ++"http://localhost/foo#hand24" ++"http://localhost/foo#hand25" ++"http://localhost/foo#hand26" +-"http://localhost/foo#hand27" +-"http://localhost/foo#hand28" ++"http://localhost/foo#hand29" +-"http://localhost/foo#hand30" +-"http://localhost/foo#hand31" +-"http://localhost/foo#hand32" +-"http://localhost/foo#hand33" +-"http://localhost/foo#hand34" ++"http://localhost/foo#hand35" ++"http://localhost/foo#hand36" +-"http://localhost/foo#hand37" ++"http://localhost/foo#hand38" ++"http://localhost/foo#hand39" ++"http://localhost/foo#hand40" ++"http://localhost/foo#hand41" +-"http://localhost/foo#hand42" ++"http://localhost/foo#hand43" +-"http://localhost/foo#hand44" +-"http://localhost/foo#hand45" +-"http://localhost/foo#hand46" ++"http://localhost/foo#hand47" ++"http://localhost/foo#hand48" Added: trunk/examples/cross-benchmark/poker/pair_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/poker/pair_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/poker/pair_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,64 @@ +/** + * See pair.conf. This is the same learning problem, but loading + * background knowledge from an OWL file instead. + * + * Copyright (C) 2007, Jens Lehmann + */ +algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; + +/*Background knowledge*/ +import("pair50.owl"); + +/*Examples*/ +-"http://localhost/foo#hand0" +-"http://localhost/foo#hand1" +-"http://localhost/foo#hand2" +-"http://localhost/foo#hand3" +-"http://localhost/foo#hand4" +-"http://localhost/foo#hand5" +-"http://localhost/foo#hand6" +-"http://localhost/foo#hand7" +-"http://localhost/foo#hand8" ++"http://localhost/foo#hand9" +-"http://localhost/foo#hand10" +-"http://localhost/foo#hand11" +-"http://localhost/foo#hand12" ++"http://localhost/foo#hand13" +-"http://localhost/foo#hand14" +-"http://localhost/foo#hand15" +-"http://localhost/foo#hand16" +-"http://localhost/foo#hand17" ++"http://localhost/foo#hand18" ++"http://localhost/foo#hand19" +-"http://localhost/foo#hand20" ++"http://localhost/foo#hand21" ++"http://localhost/foo#hand22" ++"http://localhost/foo#hand23" ++"http://localhost/foo#hand24" ++"http://localhost/foo#hand25" ++"http://localhost/foo#hand26" +-"http://localhost/foo#hand27" +-"http://localhost/foo#hand28" ++"http://localhost/foo#hand29" +-"http://localhost/foo#hand30" +-"http://localhost/foo#hand31" +-"http://localhost/foo#hand32" +-"http://localhost/foo#hand33" +-"http://localhost/foo#hand34" ++"http://localhost/foo#hand35" ++"http://localhost/foo#hand36" +-"http://localhost/foo#hand37" ++"http://localhost/foo#hand38" ++"http://localhost/foo#hand39" ++"http://localhost/foo#hand40" ++"http://localhost/foo#hand41" +-"http://localhost/foo#hand42" ++"http://localhost/foo#hand43" +-"http://localhost/foo#hand44" +-"http://localhost/foo#hand45" +-"http://localhost/foo#hand46" ++"http://localhost/foo#hand47" ++"http://localhost/foo#hand48" Added: trunk/examples/cross-benchmark/poker/straight_el.conf =================================================================== --- trunk/examples/cross-benchmark/poker/straight_el.conf (rev 0) +++ trunk/examples/cross-benchmark/poker/straight_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,71 @@ +/** + * See straight.conf. This is the same learning problem, but loading + * background knowledge from an OWL file instead. + * + * Copyright (C) 2007, Jens Lehmann + */ + +/*Background knowledge*/ +algorithm = el; +el.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +import("straight.owl"); + +/*Examples*/ ++"http://localhost/foo#hand1" ++"http://localhost/foo#hand22" ++"http://localhost/foo#hand40" ++"http://localhost/foo#hand44" + +-"http://localhost/foo#hand0" +-"http://localhost/foo#hand2" +-"http://localhost/foo#hand3" +-"http://localhost/foo#hand4" +-"http://localhost/foo#hand5" +-"http://localhost/foo#hand6" +-"http://localhost/foo#hand7" +-"http://localhost/foo#hand8" +-"http://localhost/foo#hand9" +-"http://localhost/foo#hand10" +-"http://localhost/foo#hand11" +-"http://localhost/foo#hand12" +-"http://localhost/foo#hand13" +-"http://localhost/foo#hand14" +-"http://localhost/foo#hand15" +-"http://localhost/foo#hand16" +-"http://localhost/foo#hand17" +-"http://localhost/foo#hand18" +-"http://localhost/foo#hand19" +-"http://localhost/foo#hand20" +-"http://localhost/foo#hand21" +-"http://localhost/foo#hand23" +-"http://localhost/foo#hand24" +-"http://localhost/foo#hand25" +-"http://localhost/foo#hand26" +-"http://localhost/foo#hand27" +-"http://localhost/foo#hand28" +-"http://localhost/foo#hand29" +-"http://localhost/foo#hand30" +-"http://localhost/foo#hand31" +-"http://localhost/foo#hand32" +-"http://localhost/foo#hand33" +-"http://localhost/foo#hand34" +-"http://localhost/foo#hand35" +-"http://localhost/foo#hand36" +-"http://localhost/foo#hand37" +-"http://localhost/foo#hand38" +-"http://localhost/foo#hand39" +-"http://localhost/foo#hand41" +-"http://localhost/foo#hand42" +-"http://localhost/foo#hand43" +-"http://localhost/foo#hand45" +-"http://localhost/foo#hand46" +-"http://localhost/foo#hand47" +-"http://localhost/foo#hand48" +-"http://localhost/foo#hand49" +-"http://localhost/foo#hand50" +-"http://localhost/foo#hand51" +-"http://localhost/foo#hand52" +-"http://localhost/foo#hand53" +-"http://localhost/foo#hand54" Added: trunk/examples/cross-benchmark/poker/straight_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/poker/straight_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/poker/straight_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,71 @@ +/** + * See straight.conf. This is the same learning problem, but loading + * background knowledge from an OWL file instead. + * + * Copyright (C) 2007, Jens Lehmann + */ + +/*Background knowledge*/ +algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +import("straight.owl"); + +/*Examples*/ ++"http://localhost/foo#hand1" ++"http://localhost/foo#hand22" ++"http://localhost/foo#hand40" ++"http://localhost/foo#hand44" + +-"http://localhost/foo#hand0" +-"http://localhost/foo#hand2" +-"http://localhost/foo#hand3" +-"http://localhost/foo#hand4" +-"http://localhost/foo#hand5" +-"http://localhost/foo#hand6" +-"http://localhost/foo#hand7" +-"http://localhost/foo#hand8" +-"http://localhost/foo#hand9" +-"http://localhost/foo#hand10" +-"http://localhost/foo#hand11" +-"http://localhost/foo#hand12" +-"http://localhost/foo#hand13" +-"http://localhost/foo#hand14" +-"http://localhost/foo#hand15" +-"http://localhost/foo#hand16" +-"http://localhost/foo#hand17" +-"http://localhost/foo#hand18" +-"http://localhost/foo#hand19" +-"http://localhost/foo#hand20" +-"http://localhost/foo#hand21" +-"http://localhost/foo#hand23" +-"http://localhost/foo#hand24" +-"http://localhost/foo#hand25" +-"http://localhost/foo#hand26" +-"http://localhost/foo#hand27" +-"http://localhost/foo#hand28" +-"http://localhost/foo#hand29" +-"http://localhost/foo#hand30" +-"http://localhost/foo#hand31" +-"http://localhost/foo#hand32" +-"http://localhost/foo#hand33" +-"http://localhost/foo#hand34" +-"http://localhost/foo#hand35" +-"http://localhost/foo#hand36" +-"http://localhost/foo#hand37" +-"http://localhost/foo#hand38" +-"http://localhost/foo#hand39" +-"http://localhost/foo#hand41" +-"http://localhost/foo#hand42" +-"http://localhost/foo#hand43" +-"http://localhost/foo#hand45" +-"http://localhost/foo#hand46" +-"http://localhost/foo#hand47" +-"http://localhost/foo#hand48" +-"http://localhost/foo#hand49" +-"http://localhost/foo#hand50" +-"http://localhost/foo#hand51" +-"http://localhost/foo#hand52" +-"http://localhost/foo#hand53" +-"http://localhost/foo#hand54" Added: trunk/examples/cross-benchmark/trains/trains_el.conf =================================================================== --- trunk/examples/cross-benchmark/trains/trains_el.conf (rev 0) +++ trunk/examples/cross-benchmark/trains/trains_el.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,28 @@ +/** + * See arch.conf. This is the same learning problem, but loading background + * knowledge from an OWL file instead. + * + * Copyright (C) 2007, Jens Lehmann + */ + +algorithm = el; +el.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +hidePrefix = "http://example.com/foo#"; + +/*Background knowledge*/ + +import("trains.owl"); + +/*Examples*/ ++"http://example.com/foo#east1" ++"http://example.com/foo#east2" ++"http://example.com/foo#east3" ++"http://example.com/foo#east4" ++"http://example.com/foo#east5" +-"http://example.com/foo#west6" +-"http://example.com/foo#west7" +-"http://example.com/foo#west8" +-"http://example.com/foo#west9" +-"http://example.com/foo#west10" Added: trunk/examples/cross-benchmark/trains/trains_el_disjunctive.conf =================================================================== --- trunk/examples/cross-benchmark/trains/trains_el_disjunctive.conf (rev 0) +++ trunk/examples/cross-benchmark/trains/trains_el_disjunctive.conf 2009-12-01 17:59:11 UTC (rev 1927) @@ -0,0 +1,28 @@ +/** + * See arch.conf. This is the same learning problem, but loading background + * knowledge from an OWL file instead. + * + * Copyright (C) 2007, Jens Lehmann + */ + +algorithm = disjunctiveEL; +disjunctiveEL.instanceBasedDisjoints = false; +refexamples.useCardinalityRestrictions = false; +reasoner = owlAPIReasoner; +hidePrefix = "http://example.com/foo#"; + +/*Background knowledge*/ + +import("trains.owl"); + +/*Examples*/ ++"http://example.com/foo#east1" ++"http://example.com/foo#east2" ++"http://example.com/foo#east3" ++"http://example.com/foo#east4" ++"http://example.com/foo#east5" +-"http://example.com/foo#west6" +-"http://example.com/foo#west7" +-"http://example.com/foo#west8" +-"http://example.com/foo#west9" +-"http://example.com/foo#west10" Modified: trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -49,6 +49,7 @@ import org.dllearner.core.owl.Thing; import org.dllearner.learningproblems.ClassLearningProblem; import org.dllearner.learningproblems.PosNegLP; +import org.dllearner.learningproblems.PosNegLPStandard; import org.dllearner.learningproblems.PosOnlyLP; import org.dllearner.refinementoperators.RefinementOperator; import org.dllearner.refinementoperators.RhoDRDown; @@ -393,7 +394,7 @@ if(accuracy > bestAccuracy) { bestAccuracy = accuracy; bestDescription = description; - logger.info("more accurate (" + dfPercent.format(bestAccuracy) + ") class expression found: " + descriptionToString(bestDescription)); + logger.info("more accurate (" + dfPercent.format(bestAccuracy) + ") class expression found: " + descriptionToString(bestDescription)); // + getTemporaryString(bestDescription)); } return true; } @@ -574,12 +575,21 @@ int current = 1; String str = ""; for(EvaluatedDescription ed : bestEvaluatedDescriptions.getSet().descendingSet()) { - str += current + ": " + descriptionToString(ed.getDescription()) + " " + dfPercent.format(ed.getAccuracy()) + "\n"; + // temporary code + if(learningProblem instanceof PosNegLPStandard) { + str += current + ": " + descriptionToString(ed.getDescription()) + " (pred. acc.: " + dfPercent.format(((PosNegLPStandard)learningProblem).getPredAccuracyOrTooWeakExact(ed.getDescription(),1)) + ", F-measure: "+ dfPercent.format(((PosNegLPStandard)learningProblem).getFMeasureOrTooWeakExact(ed.getDescription(),1)) + ")\n"; + } else { + str += current + ": " + descriptionToString(ed.getDescription()) + " " + dfPercent.format(ed.getAccuracy()) + "\n"; + } current++; } return str; } +// private String getTemporaryString(Description description) { +// return descriptionToString(description) + " (pred. acc.: " + dfPercent.format(((PosNegLPStandard)learningProblem).getPredAccuracyOrTooWeakExact(description,1)) + ", F-measure: "+ dfPercent.format(((PosNegLPStandard)learningProblem).getFMeasureOrTooWeakExact(description,1)) + ")"; +// } + private void updateMinMaxHorizExp(OENode node) { int newHorizExp = node.getHorizontalExpansion(); Modified: trunk/src/dl-learner/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -34,7 +34,7 @@ public class OEHeuristicRuntime implements Comparator<OENode>{ // strong penalty for long descriptions - private double expansionPenaltyFactor = 0.1; + private double expansionPenaltyFactor = 0.01; // 0.1; // bonus for being better than parent node private double gainBonusFactor = 0.3; // penalty if a node description has very many refinements since exploring Modified: trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithm.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithm.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithm.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -32,6 +32,9 @@ import org.dllearner.core.ReasonerComponent; import org.dllearner.core.configurators.Configurator; import org.dllearner.core.configurators.ELLearningAlgorithmConfigurator; +import org.dllearner.core.options.CommonConfigOptions; +import org.dllearner.core.options.ConfigOption; +import org.dllearner.core.options.StringConfigOption; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Thing; import org.dllearner.learningproblems.EvaluatedDescriptionPosNeg; @@ -59,6 +62,9 @@ private boolean isRunning = false; private boolean stop = false; + private double treeSearchTimeSeconds = 1.0; + private long treeStartTime; + // a set with limited size (currently the ordering is defined in the class itself) private EvaluatedDescriptionSet bestEvaluatedDescriptions = new EvaluatedDescriptionSet(LearningAlgorithm.MAX_NR_OF_RESULTS); @@ -68,6 +74,7 @@ public ELLearningAlgorithm(PosNegLP problem, ReasonerComponent reasoner) { super(problem, reasoner); + configurator = new ELLearningAlgorithmConfigurator(this); } public static String getName() { @@ -90,13 +97,21 @@ return configurator; } + public static Collection<ConfigOption<?>> createConfigOptions() { + Collection<ConfigOption<?>> options = new LinkedList<ConfigOption<?>>(); +// options.add(CommonConfigOptions.getNoisePercentage()); +// options.add(new StringConfigOption("startClass", "the named class which should be used to start the algorithm (GUI: needs a widget for selecting a class)")); + options.add(CommonConfigOptions.getInstanceBasedDisjoints()); + return options; + } + @Override public void init() throws ComponentInitException { // currently we use the stable heuristic heuristic = new StableHeuristic(); candidates = new TreeSet<SearchTreeNode>(heuristic); - operator = new ELDown2(reasoner); + operator = new ELDown2(reasoner, configurator.getInstanceBasedDisjoints()); } @Override @@ -104,6 +119,7 @@ stop = false; isRunning = true; reset(); + treeStartTime = System.nanoTime(); // create start node ELDescriptionTree top = new ELDescriptionTree(reasoner, Thing.instance); @@ -157,9 +173,13 @@ parentNode.addChild(node); } +// System.out.println("TEST"); + if(!node.isTooWeak()) { // add as candidate candidates.add(node); + +// System.out.println("TEST2"); // check whether we want to add it to the best evaluated descriptions; // to do this we pick the worst considered evaluated description @@ -178,6 +198,19 @@ } private boolean stoppingCriteriaSatisfied() { + // in some cases, there could be no candidate left ... + if(candidates.isEmpty()) { + return true; + } + + // stop when max time is reached + long runTime = System.nanoTime() - treeStartTime; + double runTimeSeconds = runTime / (double) 1000000000; + + if(runTimeSeconds >= treeSearchTimeSeconds) { + return true; + } + // stop if we have a node covering all positives and none of the negatives SearchTreeNode bestNode = candidates.last(); return (bestNode.getCoveredNegatives() == 0); Modified: trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -141,6 +141,7 @@ Collection<ConfigOption<?>> options = new LinkedList<ConfigOption<?>>(); options.add(CommonConfigOptions.getNoisePercentage()); options.add(new StringConfigOption("startClass", "the named class which should be used to start the algorithm (GUI: needs a widget for selecting a class)")); + options.add(CommonConfigOptions.getInstanceBasedDisjoints()); return options; } @@ -165,7 +166,7 @@ } else { startClass = Thing.instance; } - operator = new ELDown2(reasoner); + operator = new ELDown2(reasoner, configurator.getInstanceBasedDisjoints()); // noise = configurator.getNoisePercentage()/(double)100; @@ -365,6 +366,11 @@ } private boolean treeCriteriaSatisfied() { + // stop if there are no more candidates (unlikely, but can happen) + if(candidates.isEmpty()) { + return true; + } + long runTime = System.nanoTime() - treeStartTime; double runTimeSeconds = runTime / (double) 1000000000; @@ -376,6 +382,7 @@ } private boolean stoppingCriteriaSatisfied() { + // stop if we have a node covering all positives and none of the negatives // SearchTreeNode bestNode = candidates.last(); // return (bestNode.getCoveredNegatives() == 0); Modified: trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmConfigurator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmConfigurator.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmConfigurator.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -55,7 +55,25 @@ return component; } +/** +* instanceBasedDisjoints Specifies whether to use real disjointness checks or instance based ones (no common instances) in the refinement operator.. +* mandatory: false| reinit necessary: true +* default value: true +* @return boolean +**/ +public boolean getInstanceBasedDisjoints() { +return (Boolean) ComponentManager.getInstance().getConfigOptionValue(eLLearningAlgorithm, "instanceBasedDisjoints") ; +} +/** +* @param instanceBasedDisjoints Specifies whether to use real disjointness checks or instance based ones (no common instances) in the refinement operator.. +* mandatory: false| reinit necessary: true +* default value: true +**/ +public void setInstanceBasedDisjoints(boolean instanceBasedDisjoints) { +ComponentManager.getInstance().applyConfigEntry(eLLearningAlgorithm, "instanceBasedDisjoints", instanceBasedDisjoints); +reinitNecessary = true; +} /** * true, if this component needs reinitializsation. Modified: trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmDisjunctiveConfigurator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmDisjunctiveConfigurator.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/core/configurators/ELLearningAlgorithmDisjunctiveConfigurator.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -73,6 +73,15 @@ public String getStartClass() { return (String) ComponentManager.getInstance().getConfigOptionValue(eLLearningAlgorithmDisjunctive, "startClass") ; } +/** +* instanceBasedDisjoints Specifies whether to use real disjointness checks or instance based ones (no common instances) in the refinement operator.. +* mandatory: false| reinit necessary: true +* default value: true +* @return boolean +**/ +public boolean getInstanceBasedDisjoints() { +return (Boolean) ComponentManager.getInstance().getConfigOptionValue(eLLearningAlgorithmDisjunctive, "instanceBasedDisjoints") ; +} /** * @param noisePercentage the (approximated) percentage of noise within the examples. @@ -92,6 +101,15 @@ ComponentManager.getInstance().applyConfigEntry(eLLearningAlgorithmDisjunctive, "startClass", startClass); reinitNecessary = true; } +/** +* @param instanceBasedDisjoints Specifies whether to use real disjointness checks or instance based ones (no common instances) in the refinement operator.. +* mandatory: false| reinit necessary: true +* default value: true +**/ +public void setInstanceBasedDisjoints(boolean instanceBasedDisjoints) { +ComponentManager.getInstance().applyConfigEntry(eLLearningAlgorithmDisjunctive, "instanceBasedDisjoints", instanceBasedDisjoints); +reinitNecessary = true; +} /** * true, if this component needs reinitializsation. Modified: trunk/src/dl-learner/org/dllearner/core/configurators/PosNegLPStandardConfigurator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/configurators/PosNegLPStandardConfigurator.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/core/configurators/PosNegLPStandardConfigurator.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -106,7 +106,7 @@ /** * useApproximations whether to use stochastic approximations for computing accuracy. * mandatory: false| reinit necessary: true -* default value: true +* default value: false * @return boolean **/ public boolean getUseApproximations() { @@ -124,7 +124,7 @@ /** * accuracyMethod Specifies, which method/function to use for computing accuracy.. * mandatory: false| reinit necessary: true -* default value: standard +* default value: predacc * @return String **/ public String getAccuracyMethod() { @@ -177,7 +177,7 @@ /** * @param useApproximations whether to use stochastic approximations for computing accuracy. * mandatory: false| reinit necessary: true -* default value: true +* default value: false **/ public void setUseApproximations(boolean useApproximations) { ComponentManager.getInstance().applyConfigEntry(posNegLPStandard, "useApproximations", useApproximations); @@ -195,7 +195,7 @@ /** * @param accuracyMethod Specifies, which method/function to use for computing accuracy.. * mandatory: false| reinit necessary: true -* default value: standard +* default value: predacc **/ public void setAccuracyMethod(String accuracyMethod) { ComponentManager.getInstance().applyConfigEntry(posNegLPStandard, "accuracyMethod", accuracyMethod); Modified: trunk/src/dl-learner/org/dllearner/core/options/CommonConfigOptions.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/options/CommonConfigOptions.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/core/options/CommonConfigOptions.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -57,6 +57,7 @@ public static String logLevelDefault = "DEBUG"; public static double noisePercentageDefault = 0.0; public static boolean terminateOnNoiseReachedDefault = true; + public static boolean instanceBasedDisjointsDefault = true; public static StringConfigOption getVerbosityOption() { StringConfigOption verbosityOption = new StringConfigOption("verbosity", "control verbosity of output for this component", "warning"); @@ -195,4 +196,8 @@ public static StringConfigOption getLogLevel() { return new StringConfigOption("logLevel", "determines the logLevel for this component, can be {TRACE, DEBUG, INFO}",logLevelDefault); } + + public static BooleanConfigOption getInstanceBasedDisjoints() { + return new BooleanConfigOption("instanceBasedDisjoints", "Specifies whether to use real disjointness checks or instance based ones (no common instances) in the refinement operator.", instanceBasedDisjointsDefault); + } } Modified: trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/examples/MonogenicDiseases.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -371,7 +371,7 @@ // generate a class with all positive examples (optional) if(generatePosExampleClass) { String phenotype = rs.getString("phenotype"); - if(phenotype.toLowerCase().contains("polymorphism")) { + if(!phenotype.toLowerCase().contains("polymorphism")) { kb.addAxiom(new ClassAssertionAxiom(deleteriousMutationClass, mutationInd)); } } @@ -385,13 +385,13 @@ long startWriteTime = System.nanoTime(); OWLAPIReasoner.exportKBToOWL(owlFile, kb, ontologyURI); long writeDuration = System.nanoTime() - startWriteTime; - System.out.println("OK (time: " + Helper.prettyPrintNanoSeconds(writeDuration) + "; file size: " + owlFile.length()/1024 + " KB)."); + System.out.println("OK (entities: " + count + "; time: " + Helper.prettyPrintNanoSeconds(writeDuration) + "; file size: " + owlFile.length()/1024 + " KB)."); // selecting examples // -> only a fraction of examples are selected as positive/negative if(pgSQL) { rs = stmt.executeQuery("SELECT * FROM fiche_mutant, mutants WHERE fiche_mutant.id=mutants.id AND " //lower(phenotype) not like 'polymorphism' AND " - + " (gain_contact is not null) AND (gain_contact != 0)"); + + " (gain_contact is not null)"); // AND (gain_contact != 0)"); } else { rs = stmt.executeQuery("SELECT * FROM " + table + " WHERE " //lower(phenotype) not like 'polymorphism' AND " + " (gain_contact is not null) AND (gain_contact != 0)"); @@ -407,33 +407,28 @@ posExamples.add(new Individual(getURI("mutation" + mutationID))); } } - - // conf example: - -// import("mutation.owl"); -// -// reasoner = fastInstanceChecker; -// -// problem = classLearning; -// classLearning.classToDescribe = "http://dl-learner.org/mutation#DeletoriousMutation"; -// classLearning.accuracyMethod = "fmeasure"; -// classLearning.approxAccuracy = 0.03; -// -// algorithm = celoe; -// celoe.maxExecutionTimeInSeconds = 10; -// celoe.noisePercentage = 10; -// celoe.maxNrOfResults = 1; -// celoe.singleSuggestionMode = true; - + // writing conf file Files.clearFile(confFile); String confHeader = "import(\"" + owlFile.getName() + "\");\n\n"; confHeader += "reasoner = fastInstanceChecker;\n"; + confHeader += "problem = classLearning;\n"; - confHeader += "classLearning.classToDescribe = \"" + deleteriousMutationClass + "\";\n"; + confHeader += "classLearning.classToDescribe = \"" + deleteriousMutationClass + "\";\n"; + confHeader += "classLearning.accuracyMethod = \"fmeasure\";\n"; + confHeader += "classLearning.approxAccuracy = 0.03;\n"; + +// confHeader += "problem = posNegLPStandard;\n"; +// confHeader += "posNegLPStandard.useApproximations = true;\n"; +// confHeader += "posNegLPStandard.accuracyMethod = \"fmeasure\";\n"; +// confHeader += "posNegLPStandard.approxAccuracy = 0.03;\n"; + confHeader += "algorithm = celoe;\n"; - confHeader += "celoe.maxExecutionTimeInSeconds = 100;\n"; - confHeader += "celoe.noisePercentage = 25;\n"; + confHeader += "celoe.maxExecutionTimeInSeconds = 10;\n"; + confHeader += "celoe.noisePercentage = 10;\n"; + confHeader += "celoe.singleSuggestionMode = true;\n"; + confHeader += "celoe.useNegation = true;\n"; + // confHeader += "refexamples.noisePercentage = 15;\n"; // confHeader += "refexamples.startClass = \"" + getURI("Mutation") + "\";\n"; // confHeader += "refexamples.writeSearchTree = false;\n"; @@ -446,6 +441,7 @@ } long runTime = System.nanoTime() - startTime; + System.out.println("Conf file written with " + posExamples.size() + " positive and " + negExamples.size() + " negative examples."); System.out.println("Database successfully converted in " + Helper.prettyPrintNanoSeconds(runTime) + "."); } Modified: trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java =================================================================== --- trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -138,6 +138,8 @@ Random rand = new Random(1); Collections.shuffle(classInstances, rand); Collections.shuffle(superClassInstances, rand); + + System.out.println(classInstances.size() + " " + superClassInstances.size()); } /** Modified: trunk/src/dl-learner/org/dllearner/learningproblems/PosNegLPStandard.java =================================================================== --- trunk/src/dl-learner/org/dllearner/learningproblems/PosNegLPStandard.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/learningproblems/PosNegLPStandard.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -293,14 +293,14 @@ throw new Error("approximating pred. acc not implemented"); } } else { - return getAccuracyOrTooWeakExact(description, noise); + return getPredAccuracyOrTooWeakExact(description, noise); } } /* (non-Javadoc) * @see org.dllearner.core.LearningProblem#getAccuracyOrTooWeak(org.dllearner.core.owl.Description, double) */ - public double getAccuracyOrTooWeakExact(Description description, double noise) { + public double getPredAccuracyOrTooWeakExact(Description description, double noise) { int maxNotCovered = (int) Math.ceil(noise*positiveExamples.size()); @@ -321,9 +321,41 @@ } } - return positiveExamples.size() - notCoveredPos + notCoveredNeg / (double) allExamples.size(); +// if(useFMeasure) { +// double recall = (positiveExamples.size() - notCoveredPos) / (double) positiveExamples.size(); +// double precision = (positiveExamples.size() - notCoveredPos) / (double) (allExamples.size() - notCoveredPos - notCoveredNeg); +// return getFMeasure(recall, precision); +// } else { + return (positiveExamples.size() - notCoveredPos + notCoveredNeg) / (double) allExamples.size(); +// } } + public double getFMeasureOrTooWeakExact(Description description, double noise) { + int additionalInstances = 0; + for(Individual ind : negativeExamples) { + if(reasoner.hasType(description, ind)) { + additionalInstances++; + } + } + + int coveredInstances = 0; + for(Individual ind : positiveExamples) { + if(reasoner.hasType(description, ind)) { + coveredInstances++; + } + } + + double recall = coveredInstances/(double)positiveExamples.size(); + + if(recall < 1 - noise) { + return -1; + } + + double precision = (additionalInstances + coveredInstances == 0) ? 0 : coveredInstances / (double) (coveredInstances + additionalInstances); + + return getFMeasure(recall, precision); + } + // instead of using the standard operation, we use optimisation // and approximation here public double getFMeasureOrTooWeakApprox(Description description, double noise) { @@ -438,6 +470,12 @@ precision = 0; } +// System.out.println("description: " + description); +// System.out.println("recall: " + recall); +// System.out.println("precision: " + precision); +// System.out.println("F-measure: " + getFMeasure(recall, precision)); +// System.out.println("exact: " + getAccuracyOrTooWeakExact(description, noise)); + return getFMeasure(recall, precision); } Modified: trunk/src/dl-learner/org/dllearner/refinementoperators/ELDown2.java =================================================================== --- trunk/src/dl-learner/org/dllearner/refinementoperators/ELDown2.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/refinementoperators/ELDown2.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -103,6 +103,10 @@ private TreeAndRoleSetComparator mComp = new TreeAndRoleSetComparator(); public ELDown2(ReasonerComponent rs) { + this(rs, true); + } + + public ELDown2(ReasonerComponent rs, boolean instanceBasedDisjoints) { this.rs = rs; subsumptionHierarchy = rs.getClassHierarchy(); opHierarchy = rs.getObjectPropertyHierarchy(); @@ -114,7 +118,7 @@ opRanges.put(op, rs.getRange(op)); } - utility = new Utility(rs, opDomains); + utility = new Utility(rs, opDomains, instanceBasedDisjoints); } /* (non-Javadoc) @@ -182,6 +186,9 @@ // call ncc (see paper) Set<NamedClass> candidates = utility.getClassCandidates(index, v.getLabel()); +// System.out.println("index: " + index + " label: " + v.getLabel()); +// System.out.println("candidates: " + candidates); + for(NamedClass nc : candidates) { // clone operation ELDescriptionTree clonedTree = tree.clone(); Modified: trunk/src/dl-learner/org/dllearner/refinementoperators/Utility.java =================================================================== --- trunk/src/dl-learner/org/dllearner/refinementoperators/Utility.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/refinementoperators/Utility.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -58,7 +58,6 @@ // specifies whether to do real disjoint tests or check that // two named classes do not have common instances - // TODO: turn this into a parameter private boolean instanceBasedDisjoints = true; // cache for reasoner queries @@ -71,11 +70,12 @@ throw new Error("not implemented yet"); } - public Utility(ReasonerComponent rs, Map<ObjectProperty,Description> opDomains) { + public Utility(ReasonerComponent rs, Map<ObjectProperty,Description> opDomains, boolean instanceBasedDisjoints) { this.reasoner = rs; sh = rs.getClassHierarchy(); // we cache object property domains this.opDomains = opDomains; + this.instanceBasedDisjoints = instanceBasedDisjoints; } /** @@ -134,6 +134,7 @@ // for 2 of them we can stop further traversal in the subsumption // hierarchy for(Description d : sh.getSubClasses(upperClass)) { +// System.out.println("d: " + d); // owl:Nothing is never a candidate (not in EL) if(!(d instanceof Nothing)) { NamedClass candidate = (NamedClass) d; @@ -151,6 +152,7 @@ // candidate went successfully through all checks candidates.add(candidate); } else { +// System.out.println("k32: " + candidate + " index " + index + " cond1 " + isDisjoint(new Negation(candidate),index) + " cond2 " + checkSuperClasses(existingClasses,candidate)); // descend subsumption hierarchy to find candidates candidates.addAll(getClassCandidatesRecursive(index, existingClasses, candidate)); } Modified: trunk/src/dl-learner/org/dllearner/scripts/PaperStatistics.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/PaperStatistics.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/scripts/PaperStatistics.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -119,8 +119,10 @@ String[] algorithmPostfix = new String[4]; algorithmPostfix[0] = "_refexamples"; algorithmPostfix[1] = "_refexamples_fast"; - algorithmPostfix[2] = "_gp"; - algorithmPostfix[3] = "_hybrid"; + algorithmPostfix[2] = "_el"; + algorithmPostfix[3] = "_el_disjunctive"; +// algorithmPostfix[4] = "_gp"; +// algorithmPostfix[5] = "_hybrid"; int startAlgorithmNr = 0; // only max. 4 folds for straight problem Modified: trunk/src/dl-learner/org/dllearner/test/junit/ELDownTests.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/junit/ELDownTests.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/test/junit/ELDownTests.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -41,6 +41,7 @@ import org.dllearner.core.owl.Description; import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.ObjectProperty; +import org.dllearner.core.owl.Thing; import org.dllearner.kb.OWLFile; import org.dllearner.parser.KBParser; import org.dllearner.parser.ParseException; @@ -313,6 +314,21 @@ } + @Test + public void test5() { + ReasonerComponent rs = TestOntologies.getTestOntology(TestOntology.TRAINS_OWL); + RefinementOperator operator = new ELDown2(rs); + Set<Description> refinements = operator.refine(Thing.instance); + for(Description refinement : refinements) { + System.out.println(refinement); + } + +// Set<Description> subClasses = rs.getSubClasses(Thing.instance); +// for(Description cl : subClasses) { +// System.out.println(cl); +// } + } + // not part of the regular test suite, since Galen 2 is required // @Test public void asTest() throws ComponentInitException, MalformedURLException { Modified: trunk/src/dl-learner/org/dllearner/test/junit/TestOntologies.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/junit/TestOntologies.java 2009-11-30 15:49:23 UTC (rev 1926) +++ trunk/src/dl-learner/org/dllearner/test/junit/TestOntologies.java 2009-12-01 17:59:11 UTC (rev 1927) @@ -32,6 +32,7 @@ import org.dllearner.parser.KBParser; import org.dllearner.parser.ParseException; import org.dllearner.reasoning.FastInstanceChecker; +import org.dllearner.reasoning.OWLAPIReasoner; /** * Some ontologies to simplify unit tests. @@ -41,7 +42,7 @@ */ public final class TestOntologies { - public enum TestOntology { EMPTY, SIMPLE, SIMPLE_NO_DR, SIMPLE_NO_DISJOINT, SIMPLE_NO_DR_DISJOINT, SIMPLE2, SIMPLE3, R1SUBR2, DATA1, FIVE_ROLES, FATHER_OE, CARCINOGENESIS, EPC_OE, KRK_ZERO_ONE, DBPEDIA_OWL }; + public enum TestOntology { EMPTY, SIMPLE, SIMPLE_NO_DR, SIMPLE_NO_DISJOINT, SIMPLE_NO_DR_DISJOINT, SIMPLE2, SIMPLE3, R1SUBR2, DATA1, FIVE_ROLES, FATHER_OE, CARCINOGENESIS, EPC_OE, KRK_ZERO_ONE, DBPEDIA_OWL, TRAINS_OWL }; public static ReasonerComponent getTestOntology(TestOntology ont) { String kbString = ""; @@ -119,7 +120,9 @@ owlFile = "examples/krk/KRK_ZERO_ONE.owl"; } else if(ont.equals(TestOntology.DBPEDIA_OWL)) { owlFile = "/home/jl/promotion/ontologien/dbpedia.owl"; - } + } else if(ont.equals(TestOntology.TRAINS_OWL)) { + owlFile = "examples/cross-benchmark/trains/trains.owl"; + } try { ComponentManager cm = ComponentManager.getInstance(); @@ -139,7 +142,8 @@ } } - ReasonerComponent rc = cm.reasoner(FastInstanceChecker.class, source); + ReasonerComponent rc = cm.reasoner(OWLAPIReasoner.class, source); +// ReasonerComponent rc = cm.reasoner(FastInstanceChecker.class, source); source.init(); rc.init(); return rc; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-12-14 20:14:39
|
Revision: 1930 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1930&view=rev Author: lorenz_b Date: 2009-12-14 20:14:32 +0000 (Mon, 14 Dec 2009) Log Message: ----------- Modified build task. Provided showing executed actions in last step. Modified Paths: -------------- trunk/build.xml trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties Property Changed: ---------------- trunk/ Property changes on: trunk ___________________________________________________________________ Modified: svn:ignore - .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling + .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling bin log Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2009-12-08 21:47:58 UTC (rev 1929) +++ trunk/build.xml 2009-12-14 20:14:32 UTC (rev 1930) @@ -15,6 +15,9 @@ <property name="version_dir" value="dllearner-${today}" /> <property name="release_tmp_dir" value="release/${version_dir}" /> <property name="release_php_client_tmp_dir" value="release/php-client-${today}" /> + <property name="release_ore_dir" value="release/ore-${today}" /> + <property name="version_ore_dir" value="ore-${today}" /> + <!-- other settings --> <!-- maximum amount of allocated memory in startup scripts --> @@ -493,58 +496,58 @@ <!-- we also need to copy some images, which should be included in dllearner.jar --> <copy toDir="classes_tmp" > - <fileset dir="${source_dir}" includes="**/*.gif,**/*.html,**/*.txt"/> + <fileset dir="${source_dir}" includes="**/*.gif,**/*.png,**/*.html,**/*.txt"/> </copy> - <mkdir dir="${release_tmp_dir}"/> - <mkdir dir="${release_tmp_dir}/lib/"/> - <jar jarfile="${release_tmp_dir}/lib/dllearner.jar"> + <mkdir dir="${release_ore_dir}"/> + <mkdir dir="${release_ore_dir}/lib/"/> + <jar jarfile="${release_ore_dir}/lib/dllearner.jar"> <fileset dir="classes_tmp"/> </jar> <delete dir="classes_tmp"/> <!-- copy all other libraries --> - <copy toDir="${release_tmp_dir}/lib"> + <copy toDir="${release_ore_dir}/lib"> <fileset dir="${lib_dir}" /> </copy> <!-- copy binary files and examples --> - <copy toDir="${release_tmp_dir}/examples"> - <fileset dir="examples"/> + <copy toDir="${release_ore_dir}/examples"> + <fileset dir="examples/ore"/> </copy> - <copy toDir="${release_tmp_dir}"> + <copy toDir="${release_ore_dir}"> <fileset dir="bin"/> </copy> <!-- create file containing the build info --> - <echo file="${release_tmp_dir}/build.txt" append="false">DL-Learner Build ${today}</echo> + <echo file="${release_ore_dir}/build.txt" append="false">ORE Build ${today}</echo> <!-- create empty log directory for release --> - <mkdir dir="${release_tmp_dir}/log" /> + <mkdir dir="${release_ore_dir}/log" /> <!-- create tar.gz files (allows storing whether a file is executable) --> <tar longfile="gnu" destfile="ore-nosource-${today}.tar.gz" compression="gzip"> <!-- extra set for executable files --> <tarfileset dir="release/" mode="755"> - <include name="${version_dir}/OREApplication" /> + <include name="${version_ore_dir}/ore" /> </tarfileset> <tarfileset dir="release/"> - <exclude name="${version_dir}/OREApplication"/> + <exclude name="${version_ore_dir}/ore"/> </tarfileset> </tar> <!-- copy source code --> - <mkdir dir="${release_tmp_dir}/src/"/> - <copy toDir="${release_tmp_dir}/src/"> - <fileset dir="${source_dir}" includes="**/*.java,**/*.html,**/*.gif,**/*.jjt,build.xml"/> + <mkdir dir="${release_ore_dir}/src/"/> + <copy toDir="${release_ore_dir}/src/"> + <fileset dir="${source_dir}" includes="**/*.java,**/*.html,**/*.gif,**/*.png,*/*.jjt,build.xml"/> </copy> <!-- create backup (= standard build + source code + developer documentation) --> <tar longfile="gnu" destfile="ore-${today}.tar.gz" compression="gzip"> <tarfileset dir="release/" mode="755"> - <include name="${version_dir}/OREApplication" /> + <include name="${version_ore_dir}/ore" /> </tarfileset> <tarfileset dir="release/"> - <exclude name="${version_dir}/OREApplication"/> + <exclude name="${version_ore_dir}/ore"/> </tarfileset> </tar> <delete dir="release"/> Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2009-12-08 21:47:58 UTC (rev 1929) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2009-12-14 20:14:32 UTC (rev 1930) @@ -23,8 +23,6 @@ import java.awt.Dimension; import java.awt.Font; import java.io.File; -import java.net.MalformedURLException; -import java.net.URL; import java.util.Collections; import java.util.Comparator; import java.util.Locale; @@ -36,7 +34,6 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.FontUIResource; -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.AutoLearnPanelDescriptor; @@ -61,13 +58,9 @@ * @param args possible is to use URI as parameter */ public static void main(String[] args) { - try { - PropertyConfigurator.configure(new URL("file:src/dl-learner/org/dllearner/tools/ore/log4j.properties")); - } catch (MalformedURLException e1) { - e1.printStackTrace(); - } + try { // UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java 2009-12-08 21:47:58 UTC (rev 1929) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java 2009-12-14 20:14:32 UTC (rev 1930) @@ -20,7 +20,6 @@ package org.dllearner.tools.ore; -import java.io.File; import java.net.URI; import java.util.ArrayList; import java.util.Collection; @@ -40,7 +39,6 @@ import org.dllearner.reasoning.PelletReasoner; import org.dllearner.utilities.owl.OWLAPIConverter; import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; -import org.semanticweb.owl.io.OWLXMLOntologyFormat; import org.semanticweb.owl.model.AddAxiom; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; @@ -57,9 +55,7 @@ import org.semanticweb.owl.model.OWLOntologyChange; import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyManager; -import org.semanticweb.owl.model.OWLOntologyStorageException; import org.semanticweb.owl.model.RemoveAxiom; -import org.semanticweb.owl.model.UnknownOWLOntologyException; import org.semanticweb.owl.util.OWLEntityRemover; /** @@ -74,14 +70,18 @@ private OWLDataFactory factory; private OWLOntologyManager manager; + private Set<OWLOntologyChange> globalChanges; + public OntologyModifier(PelletReasoner reasoner){ this.reasoner = reasoner; this.manager = reasoner.getOWLOntologyManager(); this.factory = manager.getOWLDataFactory(); this.ontology = (reasoner.getOWLAPIOntologies()); + globalChanges = new HashSet<OWLOntologyChange>(); + } /** @@ -105,10 +105,12 @@ AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); try { manager.applyChange(axiom); + globalChanges.add(axiom); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } + return axiom; } @@ -146,6 +148,7 @@ //apply changes to ontology try { manager.applyChanges(changes); + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { System.err.println("Error: rewriting class description failed"); e.printStackTrace(); @@ -173,16 +176,14 @@ try { reasoner.updateCWAOntology(changes); manager.applyChanges(changes); - return changes; + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } + return changes; - - return null; - } /** * Removes a classAssertion. @@ -204,15 +205,13 @@ try { reasoner.updateCWAOntology(changes); manager.applyChange(rm); - return changes; + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - - - return null; + return changes; } /** @@ -235,16 +234,16 @@ try { reasoner.updateCWAOntology(changes); manager.applyChange(am); - return changes; + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } + + return changes; - return null; - } /** @@ -277,14 +276,16 @@ try { reasoner.updateCWAOntology(changes); manager.applyChanges(changes); - return changes; + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - return null; + return changes; + + } /** @@ -335,13 +336,14 @@ try { reasoner.updateCWAOntology(changes); manager.applyChanges(changes); - return changes; + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - return null; + + return changes; } @@ -378,7 +380,7 @@ if(remove != null){ reasoner.updateCWAOntology(changes); manager.applyChange(remove); - return changes; + globalChanges.addAll(changes); } } catch (OWLOntologyChangeException e) { @@ -386,7 +388,7 @@ e.printStackTrace(); } - return null; + return changes; } @@ -412,13 +414,12 @@ try { reasoner.updateCWAOntology(changes); manager.applyChanges(changes); - return changes; - - + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } + return changes; } @@ -443,16 +444,24 @@ try { reasoner.updateCWAOntology(changes); manager.applyChange(axiom); - return changes; + globalChanges.addAll(changes); } catch (OWLOntologyChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } - return null; + return changes; } - + public void applyOntologyChanges(List<OWLOntologyChange> changes){ + try { + manager.applyChanges(changes); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + globalChanges.addAll(changes); + } /** * undo changes of type {@link OWLOntologyChange}. @@ -478,7 +487,7 @@ // TODO Auto-generated catch block e.printStackTrace(); } - + globalChanges.removeAll(changes); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-12-08 21:47:58 UTC (rev 1929) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-12-14 20:14:32 UTC (rev 1930) @@ -145,13 +145,14 @@ } public void executeRepairPlan(){ - - try { - manager.applyChanges(new ArrayList<OWLOntologyChange>(repairPlan)); - } catch (OWLOntologyChangeException e) { - System.out.println("Error in Repairmanager: Couldn't apply ontology changes"); - e.printStackTrace(); - } + OREManager.getInstance().getModifier().applyOntologyChanges(new ArrayList<OWLOntologyChange>(repairPlan)); +// try { +// +// manager.applyChanges(new ArrayList<OWLOntologyChange>(repairPlan)); +// } catch (OWLOntologyChangeException e) { +// System.out.println("Error in Repairmanager: Couldn't apply ontology changes"); +// e.printStackTrace(); +// } undoStack.push(new ArrayList<OWLOntologyChange>(repairPlan)); List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>(repairPlan); @@ -163,14 +164,14 @@ public void undo(){ List<OWLOntologyChange> changes = undoStack.pop(); redoStack.push(changes); + OREManager.getInstance().getModifier().applyOntologyChanges(getInverseChanges(changes)); +// try { +// manager.applyChanges(getInverseChanges(changes)); +// } catch (OWLOntologyChangeException e) { +// System.out.println("Error in Repairmanager: Couldn't apply ontology changes"); +// e.printStackTrace(); +// } - try { - manager.applyChanges(getInverseChanges(changes)); - } catch (OWLOntologyChangeException e) { - System.out.println("Error in Repairmanager: Couldn't apply ontology changes"); - e.printStackTrace(); - } - fireRepairPlanExecuted(changes); } Deleted: trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties 2009-12-08 21:47:58 UTC (rev 1929) +++ trunk/src/dl-learner/org/dllearner/tools/ore/log4j.properties 2009-12-14 20:14:32 UTC (rev 1930) @@ -1,6 +0,0 @@ -log4j.rootLogger=INFO, A -log4j.logger.org.dllearner.tools.ore.explanation = DEBUG, A -log4j.logger.org.dllearner.tools.ore.explanation.HSTExplanationGenerator = INFO, 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-12-21 16:43:39
|
Revision: 1943 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1943&view=rev Author: lorenz_b Date: 2009-12-21 16:43:19 +0000 (Mon, 21 Dec 2009) Log Message: ----------- Modified evaluation GUI. Added example examples/test.ser as serialized learning results. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationComputingScript.java trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/GraphicalCoveragePanel.java Added Paths: ----------- trunk/examples/test.ser Added: trunk/examples/test.ser =================================================================== (Binary files differ) Property changes on: trunk/examples/test.ser ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationComputingScript.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationComputingScript.java 2009-12-21 16:00:20 UTC (rev 1942) +++ trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationComputingScript.java 2009-12-21 16:43:19 UTC (rev 1943) @@ -8,7 +8,6 @@ import java.net.MalformedURLException; import java.net.URL; import java.text.DecimalFormat; -import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -120,25 +119,25 @@ o.writeObject(owlEquivalenceFMeasureMap); o.writeObject(owlEquivalencePredaccMap); o.writeObject(owlEquivalenceJaccardMap); -// o.writeObject(owlEquivalenceGenFMeasureMap); + o.writeObject(owlEquivalenceGenFMeasureMap); o.writeObject(owlSuperStandardMap); o.writeObject(owlSuperFMeasureMap); o.writeObject(owlSuperPredaccMap); o.writeObject(owlSuperJaccardMap); -// o.writeObject(owlSuperGenFMeasureMap); + o.writeObject(owlSuperGenFMeasureMap); o.writeObject(fastEquivalenceStandardMap); o.writeObject(fastEquivalenceFMeasureMap); o.writeObject(fastEquivalencePredaccMap); o.writeObject(fastEquivalenceJaccardMap); -// o.writeObject(fastEquivalenceGenFMeasureMap); + o.writeObject(fastEquivalenceGenFMeasureMap); o.writeObject(fastSuperStandardMap); o.writeObject(fastSuperFMeasureMap); o.writeObject(fastSuperPredaccMap); o.writeObject(fastSuperJaccardMap); -// o.writeObject(fastSuperGenFMeasureMap); + o.writeObject(fastSuperGenFMeasureMap); o.writeObject(defaultEquivalenceMap); o.writeObject(defaultSuperMap); @@ -196,7 +195,7 @@ lp.getConfigurator().setType("superClass"); System.out.println("Learning superClass expressions"); } - for(int k = 0; k <= 3; k++){ + for(int k = 0; k <= 4; k++){ if(k == 0){ lp.getConfigurator().setAccuracyMethod("standard"); System.out.println("Using accuracy method: standard"); @@ -206,9 +205,12 @@ } else if(k == 2){ lp.getConfigurator().setAccuracyMethod("pred_acc"); System.out.println("Using accuracy method: Predictive accuracy"); - } else { + } else if(k == 3){ lp.getConfigurator().setAccuracyMethod("jaccard"); System.out.println("Using accuracy method: Jaccard"); + } else{ + lp.getConfigurator().setAccuracyMethod("generalised_fmeasure"); + System.out.println("Using accuracy method: Generalised F-Measure"); } lp.getConfigurator().setUseApproximations(useApproximations); lp.init(); @@ -255,8 +257,10 @@ owlEquivalenceFMeasureMap.put(nc, suggestionsList); } else if(k == 2){ owlEquivalencePredaccMap.put(nc, suggestionsList); + } else if(k == 3){ + owlEquivalenceJaccardMap.put(nc, suggestionsList); } else { - owlEquivalenceJaccardMap.put(nc, suggestionsList); + owlEquivalenceGenFMeasureMap.put(nc, suggestionsList); } } else { if(k == 0){ @@ -265,8 +269,10 @@ owlSuperFMeasureMap.put(nc, suggestionsList); } else if(k == 2){ owlSuperPredaccMap.put(nc, suggestionsList); + } else if(k == 3){ + owlSuperJaccardMap.put(nc, suggestionsList); } else { - owlSuperJaccardMap.put(nc, suggestionsList); + owlSuperGenFMeasureMap.put(nc, suggestionsList); } } } else { @@ -277,8 +283,10 @@ fastEquivalenceFMeasureMap.put(nc, suggestionsList); } else if(k == 2){ fastEquivalencePredaccMap.put(nc, suggestionsList); + } else if(k == 3){ + fastEquivalenceJaccardMap.put(nc, suggestionsList); } else { - fastEquivalenceJaccardMap.put(nc, suggestionsList); + fastEquivalenceGenFMeasureMap.put(nc, suggestionsList); } } else { if(k == 0){ @@ -287,8 +295,10 @@ fastSuperFMeasureMap.put(nc, suggestionsList); } else if(k == 2){ fastSuperPredaccMap.put(nc, suggestionsList); + } else if(k == 3){ + fastSuperJaccardMap.put(nc, suggestionsList); } else { - fastSuperJaccardMap.put(nc, suggestionsList); + fastSuperGenFMeasureMap.put(nc, suggestionsList); } } } Modified: trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java 2009-12-21 16:00:20 UTC (rev 1942) +++ trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java 2009-12-21 16:43:19 UTC (rev 1943) @@ -32,15 +32,19 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; import org.dllearner.core.ComponentInitException; import org.dllearner.core.LearningProblemUnsupportedException; import org.dllearner.core.owl.NamedClass; import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.tools.ore.ui.GraphicalCoveragePanel; import org.dllearner.tools.ore.ui.MarkableClassesTable; +import org.dllearner.tools.ore.ui.ResultTable; import org.dllearner.tools.ore.ui.SelectableClassExpressionsTable; -public class EvaluationGUI extends JFrame implements ActionListener{ +public class EvaluationGUI extends JFrame implements ActionListener, ListSelectionListener{ @@ -49,17 +53,21 @@ */ private static final long serialVersionUID = -3097551929270352556L; - private SelectableClassExpressionsTable tab1; - private SelectableClassExpressionsTable tab2; - private SelectableClassExpressionsTable tab3; - private SelectableClassExpressionsTable tab4; - private SelectableClassExpressionsTable tab5; - private SelectableClassExpressionsTable tab6; - private SelectableClassExpressionsTable tab7; - private SelectableClassExpressionsTable tab8; + private ResultTable tab1; + private ResultTable tab2; + private ResultTable tab3; + private ResultTable tab4; + private ResultTable tab5; + private ResultTable tab6; + private ResultTable tab7; + private ResultTable tab8; + private ResultTable tab9; + private ResultTable tab10; private SelectableClassExpressionsTable defaultTab; + private GraphicalCoveragePanel graphPanel; + private MarkableClassesTable classesTable; private JButton nextFinishButton; private JLabel messageLabel; @@ -173,35 +181,44 @@ private JPanel createSingleTablePanel(){ JPanel tableHolderPanel = new JPanel(new BorderLayout()); defaultTab = new SelectableClassExpressionsTable(); + defaultTab.getSelectionModel().addListSelectionListener(this); tableHolderPanel.add(defaultTab); + graphPanel = new GraphicalCoveragePanel(""); + tableHolderPanel.add(graphPanel, BorderLayout.EAST); + + return tableHolderPanel; } private JPanel createMultiTablesPanel(){ JPanel tablesHolderPanel = new JPanel(); tablesHolderPanel.setLayout(new GridLayout(5, 2)); - tab1 = new SelectableClassExpressionsTable(); + tab1 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab1)); - tab2 = new SelectableClassExpressionsTable(); + tab2 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab2)); - tab3 = new SelectableClassExpressionsTable(); + tab3 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab3)); - tab4 = new SelectableClassExpressionsTable(); + tab4 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab4)); - tab5 = new SelectableClassExpressionsTable(); + tab5 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab5)); - tab6 = new SelectableClassExpressionsTable(); + tab6 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab6)); - tab7 = new SelectableClassExpressionsTable(); + tab7 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab7)); - tab8 = new SelectableClassExpressionsTable(); + tab8 = new ResultTable(); tablesHolderPanel.add(createSelectablePanel(tab8)); + tab9 = new ResultTable(); + tablesHolderPanel.add(createSelectablePanel(tab9)); + tab10 = new ResultTable(); + tablesHolderPanel.add(createSelectablePanel(tab10)); return tablesHolderPanel; } - private JPanel createSelectablePanel(SelectableClassExpressionsTable table){ + private JPanel createSelectablePanel(ResultTable table){ JPanel panel = new JPanel(new BorderLayout()); panel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); JCheckBox box = new JCheckBox(); @@ -212,6 +229,8 @@ } private void showSingleTable(){ + defaultTab.clearSelection(); + graphPanel.clear(); cardLayout.first(cardPanel); showingMultiTables = false; } @@ -228,11 +247,13 @@ tab2.addResults(owlEquivalenceFMeasureMap.get(nc)); tab3.addResults(owlEquivalencePredaccMap.get(nc)); tab4.addResults(owlEquivalenceJaccardMap.get(nc)); + tab5.addResults(owlEquivalenceGenFMeasureMap.get(nc)); - tab5.addResults(fastEquivalenceStandardMap.get(nc)); - tab6.addResults(fastEquivalenceFMeasureMap.get(nc)); - tab7.addResults(fastEquivalencePredaccMap.get(nc)); - tab8.addResults(fastEquivalenceJaccardMap.get(nc)); + tab6.addResults(fastEquivalenceStandardMap.get(nc)); + tab7.addResults(fastEquivalenceFMeasureMap.get(nc)); + tab8.addResults(fastEquivalencePredaccMap.get(nc)); + tab9.addResults(fastEquivalenceJaccardMap.get(nc)); + tab10.addResults(fastEquivalenceGenFMeasureMap.get(nc)); defaultTab.addResults(defaultEquivalenceMap.get(nc)); @@ -246,13 +267,15 @@ tab2.addResults(owlSuperFMeasureMap.get(nc)); tab3.addResults(owlSuperPredaccMap.get(nc)); tab4.addResults(owlSuperJaccardMap.get(nc)); + tab5.addResults(owlSuperGenFMeasureMap.get(nc)); - tab5.addResults(fastSuperStandardMap.get(nc)); - tab6.addResults(fastSuperFMeasureMap.get(nc)); - tab7.addResults(fastSuperPredaccMap.get(nc)); - tab8.addResults(fastSuperJaccardMap.get(nc)); + tab6.addResults(fastSuperStandardMap.get(nc)); + tab7.addResults(fastSuperFMeasureMap.get(nc)); + tab8.addResults(fastSuperPredaccMap.get(nc)); + tab9.addResults(fastSuperJaccardMap.get(nc)); + tab10.addResults(fastSuperGenFMeasureMap.get(nc)); - defaultTab.addResults(defaultEquivalenceMap.get(nc)); + defaultTab.addResults(defaultSuperMap.get(nc)); showingEquivalentSuggestions = false; } @@ -269,25 +292,25 @@ owlEquivalenceFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); owlEquivalencePredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); owlEquivalenceJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); -// owlEquivalenceGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlEquivalenceGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); owlSuperStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); owlSuperFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); owlSuperPredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); owlSuperJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); -// owlSuperGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlSuperGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastEquivalenceStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastEquivalenceFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastEquivalencePredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastEquivalenceJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); -// fastEquivalenceGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastEquivalenceGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastSuperStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastSuperFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastSuperPredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); fastSuperJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); -// fastSuperGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastSuperGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); defaultEquivalenceMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); defaultSuperMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); @@ -318,7 +341,6 @@ if(showingMultiTables && showingEquivalentSuggestions){ showSingleTable(); } else if(!showingMultiTables && showingEquivalentSuggestions){ - selectedEquivalenceMap.put(nc, defaultTab.getSelectedValue()); showSuperSuggestions(nc); showMultiTables(); } else if(showingMultiTables && !showingEquivalentSuggestions){ @@ -328,7 +350,7 @@ nextFinishButton.setActionCommand("finish"); } } else { - selectedSuperMap.put(nc, defaultTab.getSelectedValue()); + currentClassIndex++; classesTable.setSelectedClass(currentClassIndex); showEquivalentSuggestions(classesTable.getSelectedClass(currentClassIndex)); @@ -341,6 +363,14 @@ } } + + @Override + public void valueChanged(ListSelectionEvent e) { + if(!e.getValueIsAdjusting() && defaultTab.getSelectedRow() >= 0){ + graphPanel.setNewClassDescription(defaultTab.getSelectedValue()); + } + + } /** * @param args @@ -385,4 +415,6 @@ + + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/GraphicalCoveragePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/GraphicalCoveragePanel.java 2009-12-21 16:00:20 UTC (rev 1942) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/GraphicalCoveragePanel.java 2009-12-21 16:43:19 UTC (rev 1943) @@ -573,8 +573,9 @@ } } - Set<Individual> notCovInd = OREManager.getInstance().getPositiveFailureExamples(); + Set<Individual> notCovInd = ((EvaluatedDescriptionClass) eval).getNotCoveredInstances(); + // notCoveredInd = notCovInd.size(); int k = 0; x = random.nextInt(MAX_RANDOM_NUMBER); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-12-21 16:47:48
|
Revision: 1944 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1944&view=rev Author: lorenz_b Date: 2009-12-21 16:47:37 +0000 (Mon, 21 Dec 2009) Log Message: ----------- Moved test example. Added Paths: ----------- trunk/src/dl-learner/org/dllearner/scripts/evaluation/test.ser Removed Paths: ------------- trunk/examples/test.ser Deleted: trunk/examples/test.ser =================================================================== (Binary files differ) Copied: trunk/src/dl-learner/org/dllearner/scripts/evaluation/test.ser (from rev 1943, trunk/examples/test.ser) =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2009-12-27 17:42:55
|
Revision: 1955 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1955&view=rev Author: lorenz_b Date: 2009-12-27 17:42:46 +0000 (Sun, 27 Dec 2009) Log Message: ----------- Some small changes in UI. Added new Look and Feel lib - seems to be much faster than GTK. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java trunk/src/dl-learner/org/dllearner/tools/ore/TaskManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/HelpablePanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/LearningOptionsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/RepairPanel.java Added Paths: ----------- trunk/lib/ore-tool/looks-2.3.0.jar trunk/src/dl-learner/org/dllearner/tools/ore/ui/ReasonerProgressUI.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RolloverButton.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatusBar2.java Added: trunk/lib/ore-tool/looks-2.3.0.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/ore-tool/looks-2.3.0.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/LearningManager.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -1,24 +1,47 @@ package org.dllearner.tools.ore; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.List; +import org.dllearner.algorithms.celoe.CELOE; +import org.dllearner.core.ComponentInitException; +import org.dllearner.core.ComponentManager; +import org.dllearner.core.LearningProblemUnsupportedException; +import org.dllearner.core.ReasonerComponent; import org.dllearner.core.owl.NamedClass; +import org.dllearner.learningproblems.ClassLearningProblem; import org.dllearner.learningproblems.EvaluatedDescriptionClass; public class LearningManager { private static LearningManager instance; + public enum LearningMode {AUTO, MANUAL}; + public enum LearningType { EQUIVALENT, SUPER }; + private List<LearningManagerListener> listeners; public static final int AUTO_LEARN_MODE = 0; public static final int MANUAL_LEARN_MODE = 1; - private int learnMode = 0; + private ComponentManager cm; + private LearningMode learningMode = LearningMode.AUTO; + private LearningType learningType = LearningType.EQUIVALENT; + + private ClassLearningProblem lp; + private CELOE la; + private NamedClass currentClass2Describe; + private int maxExecutionTimeInSeconds; + private double noisePercentage; + private int maxNrOfResults; + + private ReasonerComponent reasoner; + private List<EvaluatedDescriptionClass> newDescriptions; private List<EvaluatedDescriptionClass> equivalentDescriptions; @@ -34,18 +57,67 @@ } public LearningManager(){ + cm = ComponentManager.getInstance(); + reasoner = OREManager.getInstance().getReasoner(); listeners = new ArrayList<LearningManagerListener>(); newDescriptions = new ArrayList<EvaluatedDescriptionClass>(); } - public void setLearningMode(int learningMode){ - this.learnMode = learningMode; + public void setLearningMode(LearningMode learningMode){ + this.learningMode = learningMode; } - public int getLearningMode(){ - return learnMode; + public void setLearningType(LearningType learningType){ + this.learningType = learningType; } + + public void initLearningProblem(){ + lp = cm.learningProblem(ClassLearningProblem.class, reasoner); + try { + if(learningType.equals(LearningType.EQUIVALENT)){ + cm.applyConfigEntry(lp, "type", "equivalent"); + } else { + cm.applyConfigEntry(lp, "type", "superClass"); + } + lp.getConfigurator().setClassToDescribe(new URL(currentClass2Describe.toString())); + lp.init(); + } catch (ComponentInitException e) { + e.printStackTrace(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + + public void initLearningAlgorithm(){ + try { + la = cm.learningAlgorithm(CELOE.class, lp, reasoner); + la.getConfigurator().setMaxExecutionTimeInSeconds(maxExecutionTimeInSeconds); + la.getConfigurator().setUseNegation(false); + la.getConfigurator().setNoisePercentage(noisePercentage); + 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(); + } + } + + public boolean isManualLearningMode(){ + return learningMode.equals(LearningMode.MANUAL); + } + + public LearningMode getLearningMode(){ + return learningMode; + } + public List<EvaluatedDescriptionClass> getNewDescriptions() { return newDescriptions; } @@ -58,6 +130,18 @@ return currentClass2Describe; } + public void setMaxExecutionTimeInSeconds(int maxExecutionTimeInSeconds) { + this.maxExecutionTimeInSeconds = maxExecutionTimeInSeconds; + } + + public void setNoisePercentage(double noisePercentage) { + this.noisePercentage = noisePercentage; + } + + public void setMaxNrOfResults(int maxNrOfResults) { + this.maxNrOfResults = maxNrOfResults; + } + public void setNewDescriptions(List<List<EvaluatedDescriptionClass>> descriptions) { newDescriptions.clear(); newDescriptions.addAll(descriptions.get(0)); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -44,7 +44,9 @@ import org.dllearner.tools.ore.ui.wizard.descriptors.RepairPanelDescriptor; import org.dllearner.tools.ore.ui.wizard.descriptors.SavePanelDescriptor; +import com.jgoodies.looks.plastic.PlasticLookAndFeel; + /** * Main class starting the wizard and registering wizard panels. * @author Lorenz Buehmann @@ -62,8 +64,7 @@ try { -// UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + UIManager.setLookAndFeel(new PlasticLookAndFeel()); UIDefaults def = UIManager.getLookAndFeelDefaults(); Vector<?> vec = new Vector<Object>(def.keySet()); Collections.sort(vec, new Comparator<Object>() { @@ -83,15 +84,6 @@ } - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (InstantiationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/TaskManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/TaskManager.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/TaskManager.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -4,13 +4,13 @@ import javax.swing.JFrame; -import org.dllearner.tools.ore.ui.StatusBar; +import org.dllearner.tools.ore.ui.StatusBar2; public class TaskManager { private static TaskManager instance; - private StatusBar statusBar; + private StatusBar2 statusBar; private JFrame dialog; public static synchronized TaskManager getInstance(){ @@ -20,11 +20,11 @@ return instance; } - public void setStatusBar(StatusBar statusBar){ + public void setStatusBar(StatusBar2 statusBar){ this.statusBar = statusBar; } - public StatusBar getStatusBar(){ + public StatusBar2 getStatusBar(){ return statusBar; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -68,6 +68,7 @@ column6.setResizable(false); // setRowHeight(getRowHeight() + 4); setRowHeightEnabled(true); + setRowHeight(20); getColumn(0).setCellRenderer(new TextAreaRenderer()); getColumn(1).setMaxWidth(60); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -41,6 +41,7 @@ import javax.swing.JTextField; import javax.swing.JToggleButton; import javax.swing.ProgressMonitor; +import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import javax.swing.Timer; import javax.swing.border.TitledBorder; @@ -113,14 +114,15 @@ public ExtractFromSparqlDialog(JFrame owner) { super(owner, "Extract fragment from SPARQL endpoint", true); - getLocale().setDefault(Locale.ENGLISH); + getLocale(); + Locale.setDefault(Locale.ENGLISH); // Create the controls createControls(); //create main panel createSparqlPanel(); //add predefined endpoints - addPredefinedEndpoints(); +// addPredefinedEndpoints(); positionErrorDialog(owner); } @@ -180,8 +182,9 @@ endPointHelpPanel.setBorder(new TitledBorder("SPARQL endpoint")); panel.add(endPointHelpPanel, c); - JPanel classHolderPanel = new JPanel(); - classHolderPanel.setLayout(new GridLayout(0, 1)); + JPanel classHolderPanel = new JPanel(new GridBagLayout()); + GridBagConstraints gbc = new GridBagConstraints(); +// classHolderPanel.setLayout(new GridLayout(2, 1)); // classHolderPanel.setBorder(new TitledBorder("Class to investigate")); asLabelButton = new JRadioButton("label"); asURLButton = new JRadioButton("URI"); @@ -194,10 +197,15 @@ buttonPanel.add(asURLButton); buttonPanel.add(asLabelButton); - classHolderPanel.add(buttonPanel); + gbc.gridwidth = GridBagConstraints.REMAINDER; + + classHolderPanel.add(buttonPanel,gbc); classField = new JTextField(); classField.getDocument().addDocumentListener(this); - classHolderPanel.add(classField); + gbc.fill = GridBagConstraints.BOTH; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + classHolderPanel.add(classField,gbc); HelpablePanel classHelpPanel = new HelpablePanel(classHolderPanel); classHelpPanel.setHelpText(classHelpText); classHelpPanel.setBorder(new TitledBorder("Class to investigate")); @@ -328,8 +336,19 @@ public int showDialog(){ setSize(500, 400); - setVisible(true); - setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + setLocation(screenSize.width / 2 - getWidth() / 2, + screenSize.height / 2 - getHeight() / 2); + setVisible(true); + + } + }); + return returnCode; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/HelpablePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/HelpablePanel.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/HelpablePanel.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -1,59 +1,51 @@ package org.dllearner.tools.ore.ui; import java.awt.Component; -import java.awt.Dimension; import java.awt.Graphics; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import javax.swing.ButtonGroup; +import javax.swing.Icon; import javax.swing.ImageIcon; -import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.TitledBorder; +import com.jgoodies.looks.plastic.PlasticLookAndFeel; + public class HelpablePanel extends JPanel { /** * */ private static final long serialVersionUID = 2511480671795808029L; - private JButton helpButton; + private RolloverButton helpButton; + private static Icon helpIcon = new ImageIcon(HelpablePanel.class.getResource("Help-16x16.png")); + private String helpText = "TODO"; private GridBagConstraints c; public HelpablePanel(){ setLayout(new GridBagLayout()); c = new GridBagConstraints(); -// setLayout(new BorderLayout()); - helpButton = new JButton(new ImageIcon(this.getClass().getResource("Help-16x16.png"))); - helpButton.setBorderPainted(false); - helpButton.setContentAreaFilled(false); -// helpButton.setBorder(BorderFactory.createEmptyBorder(2,2,2,2)); - helpButton.setPreferredSize(new Dimension(16, 16)); - helpButton.addMouseListener(new MouseAdapter() { - @Override - public void mouseEntered(MouseEvent e) { - helpButton.setBorderPainted(true); - helpButton.setContentAreaFilled(true); - } - - @Override - public void mouseExited(MouseEvent e) { - helpButton.setBorderPainted(false); - helpButton.setContentAreaFilled(false); - } - - }); + + c.anchor = GridBagConstraints.FIRST_LINE_END; + c.weightx = 0.0; + c.weighty = 0.0; + c.gridx = 1; + c.gridy = 0; +// add(helpButton, c); + helpButton = new RolloverButton(); + helpButton.setIcon(helpIcon); helpButton.addActionListener(new ActionListener() { @Override @@ -67,15 +59,6 @@ } }); -// JPanel holderPanel = new JPanel(); -// holderPanel.setLayout(new BorderLayout()); -// holderPanel.add(helpButton, BorderLayout.EAST); -// add(holderPanel, BorderLayout.NORTH); - c.anchor = GridBagConstraints.FIRST_LINE_END; - c.weightx = 0.0; - c.weighty = 0.0; - c.gridx = 1; - c.gridy = 0; add(helpButton, c); } @@ -93,7 +76,8 @@ this.helpText = helpText; } - public static void main(String[] args){ + public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException{ + UIManager.setLookAndFeel(new PlasticLookAndFeel()); JFrame frame = new JFrame(); JPanel learnTypePanel = new JPanel(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/LearningOptionsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/LearningOptionsPanel.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/LearningOptionsPanel.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -54,9 +54,9 @@ JPanel holderPanel = new JPanel(); holderPanel.setLayout(new BorderLayout()); labelPanel = new JPanel(); - labelPanel.setLayout(new GridLayout(0, 1)); + labelPanel.setLayout(new GridLayout(0, 1, 5, 5)); sliderPanel = new JPanel(); - sliderPanel.setLayout(new GridLayout(0, 1)); + sliderPanel.setLayout(new GridLayout(0, 1, 5, 5)); minAccuracyLabel = new JLabel("Noise in %: "); maxExecutionTimeLabel = new JLabel("Max. execution time in s: "); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -1,14 +1,17 @@ package org.dllearner.tools.ore.ui; import java.awt.Component; +import java.awt.SystemColor; import java.awt.event.MouseEvent; +import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; -import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.tools.ore.OREManager; +import org.dllearner.tools.ore.ui.rendering.ProgressBarTableCellRenderer; import org.jdesktop.swingx.JXTable; public class MarkableClassExpressionsTable extends JXTable{ @@ -16,12 +19,13 @@ * */ private static final long serialVersionUID = 4193878042914394758L; - private ImageIcon icon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/untoggled.gif"); + private Icon icon = new ImageIcon(OREManager.class.getResource("untoggled.gif")); public MarkableClassExpressionsTable(){ super(new MarkableClassExpressionsTableModel()); // getColumn(1).setCellRenderer(new ManchesterSyntaxTableCellRenderer()); getColumn(0).setMaxWidth(30); + getColumn(0).setCellRenderer(new ProgressBarTableCellRenderer()); setTableHeader(null); setBorder(null); setShowVerticalLines(false); @@ -29,6 +33,7 @@ setRowSelectionAllowed(false); setColumnSelectionAllowed(false); setCellSelectionEnabled(false); + setBackground(SystemColor.control); getColumn(0).setCellRenderer(new TableCellRenderer() { @Override Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTableModel.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTableModel.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -47,7 +47,6 @@ return ""; } } else { - OWLDataFactory factory = OREManager.getInstance().getReasoner().getOWLOntologyManager().getOWLDataFactory(); OWLClass cl = factory.getOWLClass( OREManager.getInstance().getCurrentClass2Learn().getURI()); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MetricsPanel.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -3,6 +3,7 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; +import java.awt.SystemColor; import java.util.ArrayList; import java.util.List; @@ -65,7 +66,7 @@ table.setGridColor(Color.LIGHT_GRAY); table.setRowHeight(table.getRowHeight() + 4); table.setShowGrid(true); - + table.setBackground(SystemColor.control); table.getColumnModel().getColumn(1).setMaxWidth(150); table.getColumnModel().setColumnMargin(2); table.setFont(getFont().deriveFont(Font.BOLD, 12.0f)); Added: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ReasonerProgressUI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ReasonerProgressUI.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ReasonerProgressUI.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -0,0 +1,265 @@ +package org.dllearner.tools.ore.ui; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JProgressBar; + +import javax.swing.SwingUtilities; +import javax.swing.Timer; + +import org.mindswap.pellet.utils.progress.ProgressMonitor; + + + + +/** + * Author: Matthew Horridge<br> + * The University Of Manchester<br> + * Medical Informatics Group<br> + * Date: 10-Oct-2006<br><br> + * <p/> + * mat...@cs...<br> + * www.cs.man.ac.uk/~horridgm<br><br> + */ +public class ReasonerProgressUI implements ProgressMonitor { + + + private JLabel label; + + private JProgressBar progressBar; + + private JDialog window; + + private boolean cancelled; + + private Action cancelledAction; + + private String currentClass; + + private static final int CANCEL_TIMEOUT_MS = 5000; + + private Timer cancelTimeout; + + private int progress; + private int progressLength; + + public ReasonerProgressUI(JFrame frame) { + JPanel panel = new JPanel(new BorderLayout(7, 7)); + progressBar = new JProgressBar(); + panel.add(progressBar, BorderLayout.SOUTH); + panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + label = new JLabel("Classifying..."); + panel.add(label, BorderLayout.NORTH); + + window = new JDialog(frame,"Reasoner progress",true); + cancelledAction = new AbstractAction("Cancel") { + public void actionPerformed(ActionEvent e) { + setCancelled(true); + } + }; + JButton cancelledButton = new JButton(cancelledAction); + + window.setLocation(400, 400); + JPanel holderPanel = new JPanel(new BorderLayout(7, 7)); + holderPanel.add(panel, BorderLayout.NORTH); + holderPanel.add(cancelledButton, BorderLayout.EAST); + holderPanel.setBorder(BorderFactory.createEmptyBorder(5, 10, 10, 10)); + window.getContentPane().setLayout(new BorderLayout()); + window.getContentPane().add(holderPanel, BorderLayout.NORTH); + window.pack(); + Dimension windowSize = window.getSize(); + window.setSize(400, windowSize.height); + window.setResizable(false); + + cancelTimeout = new Timer(CANCEL_TIMEOUT_MS, new ActionListener() { + public void actionPerformed(ActionEvent event) { + } + }); + cancelTimeout.setRepeats(false); + } + + + + + public void setIndeterminate(boolean b) { + progressBar.setIndeterminate(b); + } + + + private void setCancelled(boolean b) { + cancelled = b; + if (currentClass != null) { + JOptionPane.showMessageDialog(window, + "Cancelled while classifying " + currentClass, + "Cancelled classification", + JOptionPane.INFORMATION_MESSAGE); + } + if (b){ + label.setText("Cancelling..."); + cancelTimeout.start(); + } + else{ + cancelTimeout.stop(); + } + } + + public void setProgressIndeterminate(boolean b) { + progressBar.setIndeterminate(b); + } + + public boolean isCancelled() { + return cancelled; + } + + + private void showWindow() { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + window.setLocation(screenSize.width / 2 - window.getWidth() / 2, + screenSize.height / 2 - window.getHeight() / 2); + window.setVisible(true); + } + }); + } + + + private void hideWindow() { + + SwingUtilities.invokeLater(new Runnable() { + public void run() { + if (cancelled && currentClass != null) { + JOptionPane.showMessageDialog(window, + "Cancelled while classifying " + currentClass, + "Cancelled classification", + JOptionPane.INFORMATION_MESSAGE); + } + window.setVisible(false); + } + }); + } + + + @Override + public int getProgress() { + return progress; + } + + + @Override + public int getProgressPercent() { + return (int)(progress * 100.0) / progressBar.getMaximum(); + } + + + @Override + public void incrementProgress() { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(progress++); +// double percentDone = (progress * 100.0) / progressBar.getMaximum(); +// if(percentDone / 100.0 == 0) { +// label.setText("Classifying ontology " + getProgressPercent() + " %"); +// } + } + }); + } + + + @Override + public boolean isCanceled() { + return cancelled; + } + + + @Override + public void setProgress(int progr) { + this.progress = progr; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue((int) progress); + double percentDone = (progress * 100.0) / progressBar.getMaximum(); +// if(percentDone / 100.0 == 0) { +// label.setText("Classifying ontology " + ((int) percentDone) + " %"); +// } + } + }); + + } + + + @Override + public void setProgressLength(int length) { + this.progressLength = length; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(0); + progressBar.setMaximum((int) progressLength); + } + }); + + } + + + @Override + public void setProgressMessage(final String message) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + label.setText(message); + } + }); + + } + + + @Override + public void setProgressTitle(final String title) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + window.setTitle(title); + } + }); + + + } + + + @Override + public void taskFinished() { + cancelTimeout.stop(); + hideWindow(); + currentClass = null; + progress = 0; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(progress); + } + }); + + + + } + + + @Override + public void taskStarted() { +// label.setText("Classifying ontology "); + currentClass = null; + setCancelled(false); + showWindow(); + + } +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTable.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTable.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -7,6 +7,7 @@ import org.dllearner.learningproblems.EvaluatedDescriptionClass; import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxTableCellRenderer; +import org.dllearner.tools.ore.ui.rendering.ProgressBarTableCellRenderer; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.decorator.HighlighterFactory; @@ -25,9 +26,9 @@ // setAutoResizeMode(JTable.AUTO_RESIZE_OFF); setModel(new ResultTableModel()); setSelectionMode(ListSelectionModel.SINGLE_SELECTION); -// ProgressBarTableCellRenderer renderer = new ProgressBarTableCellRenderer(); -// renderer.setBackground(getBackground()); -// getColumn(0).setCellRenderer(renderer); + ProgressBarTableCellRenderer renderer = new ProgressBarTableCellRenderer(); + renderer.setBackground(getBackground()); + getColumn(0).setCellRenderer(renderer); getColumn(1).setCellRenderer(new ManchesterSyntaxTableCellRenderer()); setColumnSizes(); getColumn(0).setResizable(false); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTableModel.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ResultTableModel.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -42,7 +42,7 @@ @Override public Object getValueAt(int rowIndex, int columnIndex) { if(columnIndex == 0){ - return df.format(resultList.get(rowIndex).getAccuracy()); + return (int)(resultList.get(rowIndex).getAccuracy() *100);//df.format(resultList.get(rowIndex).getAccuracy()); } else { return resultList.get(rowIndex).getDescription(); } Added: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RolloverButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RolloverButton.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RolloverButton.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -0,0 +1,29 @@ +package org.dllearner.tools.ore.ui; + +import java.awt.Graphics; + +import javax.swing.JButton; + +public class RolloverButton extends JButton +{ + /** + * + */ + private static final long serialVersionUID = -1491518775798752382L; + + +public RolloverButton() + { + setRequestFocusEnabled( false ); + setRolloverEnabled( true ); + } + + + protected void paintBorder( Graphics g ) + { + if( model.isRollover() ) + { + super.paintBorder( g ); + } + } +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatusBar2.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatusBar2.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatusBar2.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -0,0 +1,254 @@ +package org.dllearner.tools.ore.ui; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.SystemColor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.util.Set; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.JSeparator; +import javax.swing.SwingUtilities; +import javax.swing.Timer; + +import org.dllearner.tools.ore.OREManager; +import org.mindswap.pellet.utils.progress.ProgressMonitor; +import org.semanticweb.owl.model.OWLAxiom; + +import com.clarkparsia.explanation.util.ExplanationProgressMonitor; + +public class StatusBar2 extends JPanel implements ProgressMonitor, ExplanationProgressMonitor, PropertyChangeListener { + /** + * + */ + private static final long serialVersionUID = 1L; + private JLabel infoLabel; + private JProgressBar progressBar; + + private boolean cancelled; + + private boolean indeterminate; + + private Action cancelledAction; + + private static final int CANCEL_TIMEOUT_MS = 5000; + + private Timer cancelTimeout; + + private int progress; + private int progressLength; + private String progressTitle; + + private static Icon cancelIcon = new ImageIcon(OREManager.class.getResource("close.png")); + + public StatusBar2() { + setLayout(new BorderLayout()); + + infoLabel = new JLabel(""); + progressBar = new JProgressBar(); + + JPanel rightPanel = new JPanel(new BorderLayout()); + rightPanel.add(new JLabel(new AngledLinesWindowsCornerIcon()), BorderLayout.SOUTH); + rightPanel.setOpaque(false); + JPanel leftPanel = new JPanel(new FlowLayout()); + RolloverButton cancelButton = new RolloverButton(); + cancelledAction = new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = -3239121794063572683L; + + public void actionPerformed(ActionEvent e) { + setCancelled(true); + } + }; + cancelButton.setAction(cancelledAction); + cancelButton.setIcon(cancelIcon); + leftPanel.add(cancelButton); + leftPanel.add(progressBar); + leftPanel.add(new JSeparator(JSeparator.VERTICAL)); + leftPanel.add(infoLabel); + leftPanel.add(new JSeparator(JSeparator.VERTICAL)); + leftPanel.setOpaque(false); + add(leftPanel, BorderLayout.WEST); +// add(rightPanel, BorderLayout.EAST); +// setBackground(SystemColor.control); + + cancelTimeout = new Timer(CANCEL_TIMEOUT_MS, new ActionListener() { + public void actionPerformed(ActionEvent event) { + setCancelled(true); + } + }); + cancelTimeout.setRepeats(false); + } + + public void setMessage(String message) { + infoLabel.setText(message); + } + + public void showProgress(boolean b) { + cancelled = false; + indeterminate = b; + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + progressBar.setIndeterminate(indeterminate); + + } + }); + } + + public void setMaximumValue(int max) { + progressBar.setMaximum(max); + } + + private void setCancelled(boolean b) { + cancelled = b; + + if (b) { + infoLabel.setText("Cancelling..."); + cancelTimeout.start(); + } else { + cancelTimeout.stop(); + } + } + + @Override + public void foundAllExplanations() { + // TODO Auto-generated method stub + + } + + @Override + public void foundExplanation(Set<OWLAxiom> explanation) { + + } + + @Override + public boolean isCancelled() { + return cancelled; + } + + @Override + public void propertyChange(PropertyChangeEvent evt) { + if ("progress" == evt.getPropertyName()) { + int progress = (Integer) evt.getNewValue(); + setProgress(progress); + } + + } + + @Override + public int getProgress() { + return progress; + } + + @Override + public int getProgressPercent() { + return (int) (progress * 100.0) / progressBar.getMaximum(); + } + + @Override + public void incrementProgress() { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(progress++); + // double percentDone = (progress * 100.0) / + // progressBar.getMaximum(); + // if(percentDone / 100.0 == 0) { + // label.setText("Classifying ontology " + getProgressPercent() + // + " %"); + // } + } + }); + + } + + @Override + public boolean isCanceled() { + return cancelled; + } + + @Override + public void setProgress(int progr) { + this.progress = progr; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue((int) progress); + double percentDone = (progress * 100.0) / progressBar.getMaximum(); + // if(percentDone / 100.0 == 0) { + // label.setText("Classifying ontology " + ((int) percentDone) + + // " %"); + // } + } + }); + + } + + @Override + public void setProgressLength(int length) { + this.progressLength = length; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(0); + progressBar.setMaximum((int) progressLength); + } + }); + + } + + @Override + public void setProgressMessage(String message) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + // label.setText(message); + } + }); + + } + + @Override + public void setProgressTitle(String title) { + this.progressTitle = title; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + infoLabel.setText(progressTitle + "..."); + } + }); + + } + + @Override + public void taskFinished() { + cancelTimeout.stop(); + progress = 0; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(progress); + } + }); + + } + + @Override + public void taskStarted() { + + setCancelled(false); + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setIndeterminate(false); + } + }); + } + +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -46,6 +46,7 @@ import org.dllearner.tools.ore.RecentManager; import org.dllearner.tools.ore.TaskManager; import org.dllearner.tools.ore.ui.StatusBar; +import org.dllearner.tools.ore.ui.StatusBar2; import org.dllearner.tools.ore.ui.wizard.panels.LeftPanel; /** @@ -106,7 +107,7 @@ private JButton nextButton; private JButton cancelButton; private JTextPane informationsField; - private StatusBar statusBar; + private StatusBar2 statusBar; private int returnCode; @@ -391,7 +392,7 @@ JPanel buttonPanel = new JPanel(); JSeparator separator = new JSeparator(); Box buttonBox = new Box(BoxLayout.X_AXIS); - statusBar = new StatusBar(); + statusBar = new StatusBar2(); cardPanel = new JPanel(); cardPanel.setBorder(new EmptyBorder(new Insets(5, 10, 5, 10))); @@ -427,7 +428,7 @@ buttonBox.add(cancelButton); buttonPanel.add(buttonBox, java.awt.BorderLayout.EAST); - buttonPanel.add(statusBar, BorderLayout.SOUTH); + buttonPanel.add(statusBar, BorderLayout.WEST); Color color = UIManager.getColor("Panel.background"); informationsField = new JTextPane(); @@ -490,7 +491,7 @@ } - public StatusBar getStatusBar() { + public StatusBar2 getStatusBar() { return statusBar; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -185,14 +185,13 @@ } else if(nextPanelDescriptor.equals(RepairPanelDescriptor.IDENTIFIER)){ - RepairPanelDescriptor repair = ((RepairPanelDescriptor) model .getPanelHashMap().get(nextPanelDescriptor)); - if(LearningManager.getInstance().getLearningMode() == LearningManager.AUTO_LEARN_MODE){ - repair.setManualPanel(false); + if(LearningManager.getInstance().isManualLearningMode()){ + repair.setManualPanel(true); repair.fillExamplesLists(); } else { - repair.setManualPanel(true); + repair.setManualPanel(false); repair.fillExamplesLists(); } @@ -211,20 +210,15 @@ } if(nextPanelDescriptor.equals(RepairPanelDescriptor.IDENTIFIER)){ - RepairPanelDescriptor repair = ((RepairPanelDescriptor) model .getPanelHashMap().get(nextPanelDescriptor)); - if(LearningManager.getInstance().getLearningMode() == LearningManager.AUTO_LEARN_MODE){ - repair.setManualPanel(false); + if(LearningManager.getInstance().isManualLearningMode()){ + repair.setManualPanel(true); repair.fillExamplesLists(); } else { - repair.setManualPanel(true); + repair.setManualPanel(false); repair.fillExamplesLists(); } - - - - } if (nextPanelDescriptor instanceof WizardPanelDescriptor.FinishIdentifier) { wizard.close(Wizard.FINISH_RETURN_CODE); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -43,6 +43,7 @@ import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.OREManagerListener; import org.dllearner.tools.ore.TaskManager; +import org.dllearner.tools.ore.LearningManager.LearningMode; import org.dllearner.tools.ore.ui.wizard.WizardPanelDescriptor; import org.dllearner.tools.ore.ui.wizard.panels.ClassChoosePanel; @@ -219,11 +220,11 @@ if(e.getActionCommand().equals("auto")){ classChoosePanel.setAutoLearningPanel(true); getWizard().getInformationField().setText(AUTO_LEARN_INFORMATION); - LearningManager.getInstance().setLearningMode(LearningManager.AUTO_LEARN_MODE); + LearningManager.getInstance().setLearningMode(LearningMode.AUTO); } else { classChoosePanel.setAutoLearningPanel(false); getWizard().getInformationField().setText(MANUAL_LEARN_INFORMATION); - LearningManager.getInstance().setLearningMode(LearningManager.MANUAL_LEARN_MODE); + LearningManager.getInstance().setLearningMode(LearningMode.MANUAL); retrieveClasses(); } setNextButtonAccordingToConceptSelected(); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -36,15 +36,12 @@ import org.dllearner.tools.ore.TaskManager; import org.dllearner.tools.ore.ui.ExtractFromSparqlDialog; import org.dllearner.tools.ore.ui.LinkLabel; -import org.dllearner.tools.ore.ui.StatusBar; import org.dllearner.tools.ore.ui.wizard.WizardPanelDescriptor; import org.dllearner.tools.ore.ui.wizard.panels.KnowledgeSourcePanel; import org.protege.editor.core.ui.OpenFromURIPanel; import org.protege.editor.core.ui.error.ErrorLogPanel; -import org.protege.editor.owl.model.OntologyFileFilter; import org.semanticweb.owl.io.UnparsableOntologyException; import org.semanticweb.owl.model.OWLOntologyCreationException; -import org.semanticweb.owl.model.OWLOntologyFormat; /** * Wizard panel descriptor where knowledge source is selected. @@ -109,7 +106,7 @@ OREManager.getInstance().setCurrentKnowledgeSource(uri); currentURI = uri; TaskManager.getInstance().setTaskStarted("Loading ontology..."); - new OntologyLoadingTask(getWizard().getStatusBar()).execute(); + new OntologyLoadingTask().execute(); } @@ -168,7 +165,7 @@ int ret = dialog.showDialog(); if(ret == ExtractFromSparqlDialog.OK_RETURN_CODE){ OREManager.getInstance().setCurrentKnowledgeSource(dialog.getKnowledgeSource()); - new OntologyLoadingTask(getWizard().getStatusBar()).execute(); + new OntologyLoadingTask().execute(); } } @@ -191,11 +188,9 @@ class OntologyLoadingTask extends SwingWorker<Void, Void>{ - private StatusBar statusBar; private OREManager oreMan; - public OntologyLoadingTask(StatusBar statusBar) { - this.statusBar = statusBar; + public OntologyLoadingTask() { this.oreMan = OREManager.getInstance(); } @@ -205,20 +200,18 @@ try{ oreMan.initPelletReasoner(); +// ReasonerProgressUI ui = new ReasonerProgressUI(getWizard().getDialog()); +// oreMan.getReasoner().getReasoner().getKB().getTaxonomyBuilder().setProgressMonitor(ui); RecentManager.getInstance().addURI(currentURI); RecentManager.getInstance().serialize(); if(oreMan.consistentOntology()){ - statusBar.setMessage("Classifying ontology..."); oreMan.getReasoner().classify(); - statusBar.setMessage("Realising ontology..."); oreMan.getReasoner().realise(); } } catch(URISyntaxException e){ cancel(true); - statusBar.showProgress(false); - statusBar.setProgressTitle(""); getWizard().getDialog().setCursor(null); JOptionPane.showMessageDialog(getWizard().getDialog(), "Error loading ontology. Please check URI and try again.", @@ -233,8 +226,6 @@ } catch(OWLOntologyCreationException e){ cancel(true); - statusBar.showProgress(false); - statusBar.setProgressTitle(""); getWizard().getDialog().setCursor(null); if(e.getClass().equals(UnparsableOntologyException.class)){ JOptionPane.showMessageDialog(getWizard().getDialog(), Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -85,7 +85,7 @@ @Override public Object getBackPanelDescriptor() { - if(LearningManager.getInstance().getLearningMode() == LearningManager.MANUAL_LEARN_MODE){ + if(LearningManager.getInstance().isManualLearningMode()){ return ManualLearnPanelDescriptor.IDENTIFIER; } else { return AutoLearnPanelDescriptor.IDENTIFIER; @@ -108,19 +108,18 @@ public void setManualPanel(boolean value){ repairPanel.setManualStyle(value); - repairPanel.addActionListeners(this); } /** * Method to control actions by button pressed. */ public void actionPerformed(ActionEvent event) { - if(event.getActionCommand().equals("next")){ + if(event.getActionCommand().equals("next")){ LearningManager.getInstance().setNextDescription(); } else { modi = OREManager.getInstance().getModifier(); String actionType = ((JButton) event.getSource()).getParent().getName(); - if(actionType.equals("negative")){ + if(actionType.equals("negative") && repairPanel.getNegFailureTable().getSelectedRow() >=0){ Individual ind = repairPanel.getNegFailureTable().getSelectedIndividual(); if(event.getActionCommand().equals("negRepair")){ RepairDialog negDialog = new RepairDialog(ind, getWizard().getDialog(), "neg"); @@ -140,7 +139,7 @@ repairPanel.getNegFailureTable().removeIndividual(ind); } - } else if(actionType.equals("positive")){ + } else if(actionType.equals("positive") && repairPanel.getPosFailureTable().getSelectedRow() >=0){ Individual ind = repairPanel.getPosFailureTable().getSelectedIndividual(); if(event.getActionCommand().equals("posRepair")){ RepairDialog posDialog = new RepairDialog(ind, getWizard().getDialog(), "pos"); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -87,7 +87,7 @@ @Override public Object getBackPanelDescriptor() { - if(LearningManager.getInstance().getLearningMode() == LearningManager.MANUAL_LEARN_MODE){ + if(LearningManager.getInstance().isManualLearningMode()){ if(OREManager.getInstance().getNewClassDescription().getAccuracy() == 1.0){ return ManualLearnPanelDescriptor.IDENTIFIER; } else { @@ -103,7 +103,7 @@ if(e.getActionCommand().equals("Save and go to class choose panel")){ if(saveOntology()){ - if(LearningManager.getInstance().getLearningMode() == LearningManager.MANUAL_LEARN_MODE){ + if(LearningManager.getInstance().isManualLearningMode()){ getWizard().setCurrentPanel(ClassChoosePanelDescriptor.IDENTIFIER); } else { getWizard().setCurrentPanel(AutoLearnPanelDescriptor.IDENTIFIER); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/RepairPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/RepairPanel.java 2009-12-27 16:31:29 UTC (rev 1954) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/RepairPanel.java 2009-12-27 17:42:46 UTC (rev 1955) @@ -60,13 +60,43 @@ private JButton nextButton; + private MarkableClassExpressionsTable descriptionsTable; public RepairPanel() { setLayout(new GridBagLayout()); - createAutoUI(); +// createAutoUI(); + createUI(); } + private void createUI(){ + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.weighty = 0.3; + c.weightx = 1.0; + c.gridx = 0; + c.gridy = 0; +// c.gridwidth = GridBagConstraints.REMAINDER; + add(createDescriptionsPanel(), c); + + c.fill = GridBagConstraints.NONE; + c.gridx = 1; + c.gridy = 0; + nextButton = new JButton("Next suggestion"); + nextButton.setActionCommand("next"); + add(nextButton, c); + + c.fill = GridBagConstraints.BOTH; + c.gridwidth = 1; + c.gridy = 1; + c.gridx = 0; + c.weightx = 0.5; + c.weighty = 0.5; + add(createPosPanel(), c); + c.gridx = 1; + add(createNegPanel(), c); + } + private void createAutoUI(){ GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; @@ -217,11 +247,13 @@ } public void setManualStyle(boolean value){ - removeAll(); +// removeAll(); if(value){ - createManualUI(); +// createManualUI(); + nextButton.setVisible(false); } else { - createAutoUI(); +// createAutoUI(); + nextButton.setVisible(true); } repaint(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2010-01-04 11:01:54
|
Revision: 1983 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1983&view=rev Author: jenslehmann Date: 2010-01-04 11:01:47 +0000 (Mon, 04 Jan 2010) Log Message: ----------- updated build script to include png files Modified Paths: -------------- trunk/bin/dllearner trunk/bin/dllearner.bat trunk/bin/gui trunk/bin/gui.bat trunk/bin/quickstart trunk/bin/quickstart.bat trunk/bin/ws trunk/bin/ws.bat trunk/build.xml trunk/doc/manual/manual.tex trunk/src/dl-learner/org/dllearner/Info.java Modified: trunk/bin/dllearner =================================================================== --- trunk/bin/dllearner 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/dllearner 2010-01-04 11:01:47 UTC (rev 1983) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/mysql/mysql-connector-java-5.1.6-bin.jar:./lib/ore-tool/swingx-0.9.7.jar:./lib/owlapi/owlapi-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.Start $@ \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.Start $@ \ No newline at end of file Modified: trunk/bin/dllearner.bat =================================================================== --- trunk/bin/dllearner.bat 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/dllearner.bat 2010-01-04 11:01:47 UTC (rev 1983) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\mysql\mysql-connector-java-5.1.6-bin.jar;.\lib\ore-tool\swingx-0.9.7.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.Start %* \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.Start %* \ No newline at end of file Modified: trunk/bin/gui =================================================================== --- trunk/bin/gui 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/gui 2010-01-04 11:01:47 UTC (rev 1983) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/mysql/mysql-connector-java-5.1.6-bin.jar:./lib/ore-tool/swingx-0.9.7.jar:./lib/owlapi/owlapi-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.gui.StartGUI $@ \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.gui.StartGUI $@ \ No newline at end of file Modified: trunk/bin/gui.bat =================================================================== --- trunk/bin/gui.bat 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/gui.bat 2010-01-04 11:01:47 UTC (rev 1983) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\mysql\mysql-connector-java-5.1.6-bin.jar;.\lib\ore-tool\swingx-0.9.7.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.gui.StartGUI %* \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.gui.StartGUI %* \ No newline at end of file Modified: trunk/bin/quickstart =================================================================== --- trunk/bin/quickstart 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/quickstart 2010-01-04 11:01:47 UTC (rev 1983) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/mysql/mysql-connector-java-5.1.6-bin.jar:./lib/ore-tool/swingx-0.9.7.jar:./lib/owlapi/owlapi-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file Modified: trunk/bin/quickstart.bat =================================================================== --- trunk/bin/quickstart.bat 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/quickstart.bat 2010-01-04 11:01:47 UTC (rev 1983) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\mysql\mysql-connector-java-5.1.6-bin.jar;.\lib\ore-tool\swingx-0.9.7.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file Modified: trunk/bin/ws =================================================================== --- trunk/bin/ws 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/ws 2010-01-04 11:01:47 UTC (rev 1983) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/mysql/mysql-connector-java-5.1.6-bin.jar:./lib/ore-tool/swingx-0.9.7.jar:./lib/owlapi/owlapi-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.server.DLLearnerWSStart $@ \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.server.DLLearnerWSStart $@ \ No newline at end of file Modified: trunk/bin/ws.bat =================================================================== --- trunk/bin/ws.bat 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/bin/ws.bat 2010-01-04 11:01:47 UTC (rev 1983) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\mysql\mysql-connector-java-5.1.6-bin.jar;.\lib\ore-tool\swingx-0.9.7.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.server.DLLearnerWSStart %* \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.server.DLLearnerWSStart %* \ No newline at end of file Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/build.xml 2010-01-04 11:01:47 UTC (rev 1983) @@ -122,7 +122,7 @@ <!-- we also need to copy some images, which should be included in dllearner.jar --> <copy toDir="classes_tmp" > - <fileset dir="${source_dir}" includes="**/*.gif,**/*.html"/> + <fileset dir="${source_dir}" includes="**/*.gif,**/*.png,**/*.html"/> </copy> <mkdir dir="${release_tmp_dir}"/> <mkdir dir="${release_tmp_dir}/lib/"/> Modified: trunk/doc/manual/manual.tex =================================================================== --- trunk/doc/manual/manual.tex 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/doc/manual/manual.tex 2010-01-04 11:01:47 UTC (rev 1983) @@ -69,7 +69,7 @@ \emph{Conf files}, e.g. \verb|examples/father.conf| in this case, describe the learning problem and specify which algorithm you want to use to solve it. In the simplest case they just say where to find the background knowledge to use (in the OWL file \verb|examples/father.owl| in this case) and the positive and negative examples (marked by ``+'' and ``-'', respectively). When running the above command, you should get something similar to the following: \begin{verbatim} -DL-Learner 2009-05-06 command line interface +DL-Learner 2010-01-04 command line interface starting component manager ... OK (157ms) initialising component "OWL file" ... OK (0ms) initialising component "fast instance checker" ... OK (842ms) Modified: trunk/src/dl-learner/org/dllearner/Info.java =================================================================== --- trunk/src/dl-learner/org/dllearner/Info.java 2010-01-04 10:59:29 UTC (rev 1982) +++ trunk/src/dl-learner/org/dllearner/Info.java 2010-01-04 11:01:47 UTC (rev 1983) @@ -3,6 +3,6 @@ package org.dllearner; public class Info { - public static final String build = "2009-12-31"; + public static final String build = "2010-01-04"; } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2010-02-11 09:16:11
|
Revision: 2010 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2010&view=rev Author: kurzum Date: 2010-02-11 09:16:04 +0000 (Thu, 11 Feb 2010) Log Message: ----------- Modified Paths: -------------- trunk/examples/datatypes/stringtyped.conf trunk/examples/datatypes/stringuntyped.conf trunk/examples/nlp2rdf/passive_vs_active.conf trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExampleDataCollector.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/scripts/evaluation/cinema.res trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/utilities/examples/Randomizer.java Property Changed: ---------------- trunk/ trunk/examples/ trunk/examples/nlp2rdf/ Property changes on: trunk ___________________________________________________________________ Modified: svn:ignore - .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling bin log + .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling osmdata matching stanley dllearner.jar father.inp lgd.nt Property changes on: trunk/examples ___________________________________________________________________ Added: svn:ignore + nlp nodeExtractionBug.conf Modified: trunk/examples/datatypes/stringtyped.conf =================================================================== --- trunk/examples/datatypes/stringtyped.conf 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/examples/datatypes/stringtyped.conf 2010-02-11 09:16:04 UTC (rev 2010) @@ -8,6 +8,7 @@ // refexamples.writeSearchTree = true; refexamples.searchTreeFile = "log/stringTypedTree.txt"; reasoner = fastInstanceChecker; +refexamples.useDataHasValueConstructor=true; import("string.owl"); Modified: trunk/examples/datatypes/stringuntyped.conf =================================================================== --- trunk/examples/datatypes/stringuntyped.conf 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/examples/datatypes/stringuntyped.conf 2010-02-11 09:16:04 UTC (rev 2010) @@ -7,6 +7,7 @@ algorithm = refexamples; // refexamples.writeSearchTree = true; refexamples.searchTreeFile = "log/stringUntypedTree.txt"; +refexamples.useDataHasValueConstructor=true; reasoner = fastInstanceChecker; import("string.owl"); Property changes on: trunk/examples/nlp2rdf ___________________________________________________________________ Added: svn:ignore + dllearner_last_run_examples.conf output.rdf Modified: trunk/examples/nlp2rdf/passive_vs_active.conf =================================================================== --- trunk/examples/nlp2rdf/passive_vs_active.conf 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/examples/nlp2rdf/passive_vs_active.conf 2010-02-11 09:16:04 UTC (rev 2010) @@ -61,7 +61,7 @@ -"http://nlp2rdf.org/ontology/sentence-structure/s32" -"http://nlp2rdf.org/ontology/sentence-structure/s33" -"http://nlp2rdf.org/ontology/sentence-structure/s34" --"http://nlp2rdf.org/ontology/sentence-structure/s35" ++"http://nlp2rdf.org/ontology/sentence-structure/s35" -"http://nlp2rdf.org/ontology/sentence-structure/s36" -"http://nlp2rdf.org/ontology/sentence-structure/s37" -"http://nlp2rdf.org/ontology/sentence-structure/s38" Modified: trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -111,7 +111,7 @@ * @return A SPARQL query of the underlying description. */ public String getSparqlQuery(int limit) { - return SparqlQueryDescriptionConvertVisitor.getSparqlQuery(description, limit, false); + return SparqlQueryDescriptionConvertVisitor.getSparqlQuery(description, limit, false, false); } /** Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -238,7 +238,7 @@ String sparqlQueryString = ""; try { sparqlQueryString = SparqlQueryDescriptionConvertVisitor - .getSparqlQuery(conceptKBSyntax, sparqlResultLimit); + .getSparqlQuery(conceptKBSyntax, sparqlResultLimit, false, false); } catch (Exception e) { logger.warn(e.getMessage()); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -19,7 +19,10 @@ */ package org.dllearner.kb.sparql; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.SortedSet; import java.util.Stack; import java.util.TreeSet; @@ -61,49 +64,117 @@ */ public class SparqlQueryDescriptionConvertVisitor implements DescriptionVisitor { - // private SparqlEndpoint se = null; - // private boolean RDFSReasoning = false; - private static int defaultLimit = 5; - + private static Logger logger = Logger.getLogger(ComponentManager.class); private Stack<String> stack = new Stack<String>(); - private String query = ""; - private int currentObject = 0; - + + private int limit = 5; + private boolean labels = false; + private boolean distinct = false; + private Map<String,String> classToSubclassesVirtuoso = null; + private List<String> foundNamedClasses = new ArrayList<String>(); + public SparqlQueryDescriptionConvertVisitor() { stack.push("subject"); } + + public void reset(){ + currentObject = 0; + stack = new Stack<String>(); + stack.push("subject"); + query = ""; + } - /* - * public SparqlQueryDescriptionConvertVisitor(SparqlEndpoint se, boolean - * RDFSReasoning) { stack.push("subject"); this.se = se; this.RDFSReasoning - * = RDFSReasoning; } - */ + public String getSparqlQuery( String descriptionKBSyntax) throws ParseException { + Description description = KBParser.parseConcept(descriptionKBSyntax); + return getSparqlQuery( description); + } + + public String getSparqlQuery( Description description) { + description.accept(this); + expandSubclasses(); + String ret = "SELECT "+distinct()+"?subject "+((labels)?"?label":"")+" { "+labels()+ query + " \n } " + limit(); + this.reset(); + return ret; + } + + private void expandSubclasses(){ + if(classToSubclassesVirtuoso == null){ + return; + } + int counter = 0; + int index = 0; + String filter = ""; + String var = ""; + String uri = ""; + StringBuffer tmp ; + for(String nc: foundNamedClasses){ + index = query.indexOf("<"+nc+">"); + filter = classToSubclassesVirtuoso.get(nc); + if(index == -1){ + logger.warn("named class found before, but not in query?? "+nc); + }else if(filter != null){ + var = "?expanded"+counter; + uri = "<"+nc+">"; + tmp = new StringBuffer(); + tmp.append(query.substring(0, index)); + tmp.append(var); + tmp.append(query.substring(index+(uri.length()))); + tmp.append("\nFILTER ( " +var+ " in (" +filter+ ") ). "); + query = tmp.toString(); +// = query.substring(0, index)+var+query.substring(index+(uri.length())); + +// query += "\nFILTER (?expanded" +counter+ +// " in (" +filter+ +// ") ). "; + }else{ + logger.debug("no mapping found ("+nc+") "+this.getClass().getSimpleName()); + } + counter++; + } + } + + private String limit() { + return (limit > 0) ? " LIMIT " + limit + " " : ""; + } + private String labels() { + return (labels)?"\n?subject rdfs:label ?label . ":""; + } + private String distinct() { + return (distinct)?"DISTINCT ":""; + } - private String getSparqlQuery(int resultLimit, boolean labels) { - return "SELECT ?subject \nWHERE { "+((labels)?" ?subject rdfs:label ?label .":"")+" " + query + " }\n " + limit(resultLimit); + public void setLimit(int limit) { + this.limit = limit; } - public static String getSparqlQuery(String descriptionKBSyntax) throws ParseException { - return getSparqlQuery(descriptionKBSyntax, defaultLimit); + public void setLabels(boolean labels) { + this.labels = labels; } - public static String getSparqlQuery(String descriptionKBSyntax, int limit) throws ParseException { - Description d = KBParser.parseConcept(descriptionKBSyntax); - return getSparqlQuery(d, limit, false); + + public void setDistinct(boolean distinct) { + this.distinct = distinct; } + + public void setClassToSubclassesVirtuoso(Map<String,String> classToSubclassesVirtuoso) { + this.classToSubclassesVirtuoso = classToSubclassesVirtuoso; + } - public static String getSparqlQuery(Description description) { - return getSparqlQuery(description, defaultLimit, false); + public static String getSparqlQuery(String descriptionKBSyntax, int limit, boolean labels, boolean distinct) throws ParseException { + Description d = KBParser.parseConcept(descriptionKBSyntax); + return getSparqlQuery(d, limit, labels, distinct); } - - public static String getSparqlQuery(Description description, int resultLimit, boolean labels) { + + public static String getSparqlQuery(Description description, int limit, boolean labels, boolean distinct) { SparqlQueryDescriptionConvertVisitor visitor = new SparqlQueryDescriptionConvertVisitor(); - description.accept(visitor); - return visitor.getSparqlQuery(resultLimit, labels); + visitor.setDistinct(distinct); + visitor.setLabels(labels); + visitor.setLimit(limit); + return visitor.getSparqlQuery(description); } /** @@ -124,7 +195,7 @@ String rewritten = SparqlQueryDescriptionConvertRDFS .conceptRewrite(descriptionKBSyntax, st, maxDepth); - return getSparqlQuery(rewritten, resultLimit); + return getSparqlQuery(rewritten, resultLimit, false, false); } @@ -137,6 +208,8 @@ try { SortedSet<String> s = new TreeSet<String>(); HashMap<String, String> result = new HashMap<String, String>(); + HashMap<String, String> subclassMap = new HashMap<String, String>(); + subclassMap.put("http://nlp2rdf.org/ontology/Sentence","<http://nlp2rdf.org/ontology/Subsentence>"); String conj = "(\"http://dbpedia.org/class/yago/Person100007846\" AND \"http://dbpedia.org/class/yago/Head110162991\")"; s.add("EXISTS \"http://dbpedia.org/property/disambiguates\".TOP"); @@ -150,8 +223,19 @@ s.add("NOT \"http://dbpedia.org/class/yago/Person100007846\""); s.add("(\"http://dbpedia.org/class/yago/HeadOfState110164747\" AND (\"http://dbpedia.org/class/yago/Negotiator110351874\" AND \"http://dbpedia.org/class/yago/Representative110522035\"))"); + s.clear(); + s.add("(\"http://nlp2rdf.org/ontology/Sentence\" AND (EXISTS \"http://nlp2rdf.org/ontology/syntaxTreeHasPart\".\"http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Pronoun\" AND EXISTS \"http://nlp2rdf.org/ontology/syntaxTreeHasPart\".\"http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag\"))"); + +// <http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag> + String query = ""; + SparqlQueryDescriptionConvertVisitor visit = new SparqlQueryDescriptionConvertVisitor(); + visit.setLabels(true); + visit.setDistinct(true); + visit.setClassToSubclassesVirtuoso(subclassMap); + for (String kbsyntax : s) { - result.put(kbsyntax, SparqlQueryDescriptionConvertVisitor.getSparqlQuery(kbsyntax)); + query = visit.getSparqlQuery(kbsyntax); + result.put(kbsyntax, query); } System.out.println("************************"); for (String string : result.keySet()) { @@ -196,7 +280,7 @@ */ public void visit(ObjectSomeRestriction description) { logger.trace("ObjectSomeRestriction"); - query += "?" + stack.peek() + " <" + description.getRole() + "> ?object" + currentObject + "."; + query += "\n?" + stack.peek() + " <" + description.getRole() + "> ?object" + currentObject + ". "; stack.push("object" + currentObject); currentObject++; description.getChild(0).accept(this); @@ -238,7 +322,7 @@ public void visit(Intersection description) { logger.trace("Intersection"); description.getChild(0).accept(this); - query += "."; + query += ". "; description.getChild(1).accept(this); } @@ -302,7 +386,7 @@ public void visit(ObjectValueRestriction description) { ObjectProperty op = (ObjectProperty) description.getRestrictedPropertyExpression(); Individual ind = description.getIndividual(); - query += "?" + stack.peek() + " <" + op.getName() + "> <" + ind.getName() + ">"; + query += "\n?" + stack.peek() + " <" + op.getName() + "> <" + ind.getName() + "> "; } /* @@ -326,7 +410,8 @@ public void visit(NamedClass description) { logger.trace("NamedClass"); - query += "?" + stack.peek() + " a <" + description.getName() + ">"; + query += "\n?" + stack.peek() + " a <" + description.getName() + "> "; + foundNamedClasses.add(description.getName()); } /* @@ -384,8 +469,6 @@ logger.trace("DatatypeSomeRestriction"); } - private String limit(int resultLimit) { - return (resultLimit > 0) ? " LIMIT " + resultLimit + " " : ""; - } + } Added: trunk/src/dl-learner/org/dllearner/scripts/evaluation/cinema.res =================================================================== (Binary files differ) Property changes on: trunk/src/dl-learner/org/dllearner/scripts/evaluation/cinema.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -966,7 +966,7 @@ @WebMethod public String SparqlRetrieval(String conceptString,int limit) throws ParseException { // call parser to parse concept - return SparqlQueryDescriptionConvertVisitor.getSparqlQuery(conceptString,limit); + return SparqlQueryDescriptionConvertVisitor.getSparqlQuery(conceptString,limit, false, false); } @WebMethod Added: trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -0,0 +1,96 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.utilities.examples; + +import java.util.Random; +import java.util.SortedSet; +import java.util.TreeSet; + +import org.apache.log4j.Logger; + +/** + * used to randomize examples and split them into training and test sets + * @author Sebastian Hellmann <hel...@in...> + * + */ +public class ExMakerFixedSize { + private static Logger logger = Logger.getLogger(ExMakerFixedSize.class); + + private final Examples examples; + + public ExMakerFixedSize(Examples examples ){ + this.examples = examples; + } + + public static void main(String[] args) { + Examples ex = new Examples(); + + for (int i = 0; i < 20; i++) { + ex.addPosTrain("p"+i); + ex.addNegTrain("n"+i); + } + + ExMakerFixedSize r = new ExMakerFixedSize(ex); + ex = r.select(5, 5); + System.out.println(ex.toString()); + + } + + public Examples select(int nrOfPos, int nrOfNeg){ + + SortedSet<String> posTrain = new TreeSet<String>(); + SortedSet<String> negTrain = new TreeSet<String>(); + + SortedSet<String> posTest = new TreeSet<String>(); + SortedSet<String> negTest = new TreeSet<String>(); + + SortedSet<String> posOld = new TreeSet<String>(); + SortedSet<String> negOld = new TreeSet<String>(); + posOld.addAll(examples.getPositiveExamples()); + negOld.addAll(examples.getNegativeExamples()); + + while (!posOld.isEmpty() && posTrain.size()< nrOfPos) { + String one = pickOneRandomly(posOld.toArray(new String[] {})); + posOld.remove(one); + posTrain.add(one); + } + posTest.addAll(posOld); + + while (!negOld.isEmpty() && negTrain.size()< nrOfNeg) { + String one = pickOneRandomly(negOld.toArray(new String[] {})); + negOld.remove(one); + negTrain.add(one); + } + negTest.addAll(negOld); + + return new Examples(posTrain, negTrain, posTest, negTest); + } + + public static String pickOneRandomly(String[] from){ + Random r = new Random(); + int index = Math.round((float)(from.length*r.nextFloat())); + try{ + return from[index]; + }catch (Exception e) { + return pickOneRandomly(from); + } + } + +} Copied: trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java (from rev 1996, trunk/src/dl-learner/org/dllearner/utilities/examples/Randomizer.java) =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -0,0 +1,108 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.utilities.examples; + +import java.util.Random; +import java.util.SortedSet; +import java.util.TreeSet; + +import org.apache.log4j.Logger; + +/** + * used to randomize examples and split them into training and test sets + * @author Sebastian Hellmann <hel...@in...> + * + */ +public class ExMakerRandomizer { + private static Logger logger = Logger.getLogger(ExMakerRandomizer.class); + + private final Examples examples; + + public ExMakerRandomizer(Examples examples ){ + this.examples = examples; + } + + public static void main(String[] args) { + Examples ex = new Examples(); + + for (int i = 0; i < 20; i++) { + ex.addPosTrain("p"+i); + ex.addNegTrain("n"+i); + } + + ExMakerRandomizer r = new ExMakerRandomizer(ex); + ex = r.split(0.7d); + System.out.println(ex.toString()); + + } + + public Examples split(double percentageOfTrainingSet){ +// System.out.println(GlobalConfig.trainingDataPercentage+""); + SortedSet<String> posTrain = new TreeSet<String>(); + SortedSet<String> negTrain = new TreeSet<String>(); + + SortedSet<String> posTest = new TreeSet<String>(); + SortedSet<String> negTest = new TreeSet<String>(); + + SortedSet<String> posOld = new TreeSet<String>(); + SortedSet<String> negOld = new TreeSet<String>(); + posOld.addAll(examples.getPositiveExamples()); + negOld.addAll(examples.getNegativeExamples()); + + int posOldSize = posOld.size(); + int negOldSize = negOld.size(); + + while (!posOld.isEmpty() && (((double)posOld.size()/(double)posOldSize)) > percentageOfTrainingSet) { + String one = pickOneRandomly(posOld.toArray(new String[] {})); + posOld.remove(one); + posTest.add(one); + } + posTrain.addAll(posOld); + + while (!negOld.isEmpty() && (((double)negOld.size()/(double)negOldSize)) > percentageOfTrainingSet) { + String one = pickOneRandomly(negOld.toArray(new String[] {})); + negOld.remove(one); + negTest.add(one); + } + negTrain.addAll(negOld); + + + double posPercent = posTrain.size()/(double)posOldSize; + double negPercent = negTrain.size()/(double)negOldSize; + +// if there is more than a 10% error + if(Math.abs(posPercent - percentageOfTrainingSet)>0.1d || Math.abs(negPercent - percentageOfTrainingSet)>0.1d ){ + logger.info("repeating, unevenly matched"); + return split(percentageOfTrainingSet); + } + return new Examples(posTrain, negTrain, posTest, negTest); + } + + public static String pickOneRandomly(String[] from){ + Random r = new Random(); + int index = Math.round((float)(from.length*r.nextFloat())); + try{ + return from[index]; + }catch (Exception e) { + return pickOneRandomly(from); + } + } + +} Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/ExampleDataCollector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExampleDataCollector.java 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExampleDataCollector.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -119,7 +119,7 @@ } - public File collect(){ + private File collect(){ String from = null; File tmpFile = null; FileWriter fw = null; Deleted: trunk/src/dl-learner/org/dllearner/utilities/examples/Randomizer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/Randomizer.java 2010-02-11 08:10:50 UTC (rev 2009) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/Randomizer.java 2010-02-11 09:16:04 UTC (rev 2010) @@ -1,108 +0,0 @@ -/** - * Copyright (C) 2007-2008, Jens Lehmann - * - * This file is part of DL-Learner. - * - * DL-Learner is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * DL-Learner is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.dllearner.utilities.examples; - -import java.util.Random; -import java.util.SortedSet; -import java.util.TreeSet; - -import org.apache.log4j.Logger; - -/** - * used to randomize examples and split them into training and test sets - * @author Sebastian Hellmann <hel...@in...> - * - */ -public class Randomizer { - private static Logger logger = Logger.getLogger(Randomizer.class); - - private final Examples examples; - - public Randomizer(Examples examples ){ - this.examples = examples; - } - - public static void main(String[] args) { - Examples ex = new Examples(); - - for (int i = 0; i < 20; i++) { - ex.addPosTrain("p"+i); - ex.addNegTrain("n"+i); - } - - Randomizer r = new Randomizer(ex); - ex = r.split(0.7d); - System.out.println(ex.toString()); - - } - - public Examples split(double percentageOfTrainingSet){ -// System.out.println(GlobalConfig.trainingDataPercentage+""); - SortedSet<String> posTrain = new TreeSet<String>(); - SortedSet<String> negTrain = new TreeSet<String>(); - - SortedSet<String> posTest = new TreeSet<String>(); - SortedSet<String> negTest = new TreeSet<String>(); - - SortedSet<String> posOld = new TreeSet<String>(); - SortedSet<String> negOld = new TreeSet<String>(); - posOld.addAll(examples.getPositiveExamples()); - negOld.addAll(examples.getNegativeExamples()); - - int posOldSize = posOld.size(); - int negOldSize = negOld.size(); - - while (!posOld.isEmpty() && (((double)posOld.size()/(double)posOldSize)) > percentageOfTrainingSet) { - String one = pickOneRandomly(posOld.toArray(new String[] {})); - posOld.remove(one); - posTest.add(one); - } - posTrain.addAll(posOld); - - while (!negOld.isEmpty() && (((double)negOld.size()/(double)negOldSize)) > percentageOfTrainingSet) { - String one = pickOneRandomly(negOld.toArray(new String[] {})); - negOld.remove(one); - negTest.add(one); - } - negTrain.addAll(negOld); - - - double posPercent = posTrain.size()/(double)posOldSize; - double negPercent = negTrain.size()/(double)negOldSize; - -// if there is more than a 10% error - if(Math.abs(posPercent - percentageOfTrainingSet)>0.1d || Math.abs(negPercent - percentageOfTrainingSet)>0.1d ){ - logger.info("repeating, unevenly matched"); - return split(percentageOfTrainingSet); - } - return new Examples(posTrain, negTrain, posTest, negTest); - } - - public static String pickOneRandomly(String[] from){ - Random r = new Random(); - int index = Math.round((float)(from.length*r.nextFloat())); - try{ - return from[index]; - }catch (Exception e) { - return pickOneRandomly(from); - } - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2010-02-12 22:53:20
|
Revision: 2022 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2022&view=rev Author: lorenz_b Date: 2010-02-12 22:53:03 +0000 (Fri, 12 Feb 2010) Log Message: ----------- Added DL-Learner evaluation plugin for Protege. Added build and install task in build.xml. For 'install task' set ANT environment variable PROTEGE_HOME to the target Protege directory. Modified Paths: -------------- trunk/build.xml Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationPlugin.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTable.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTableModel.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/GraphicalCoveragePanel.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/plugin.xml trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/viewconfig-evalTab.xml trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonEditor.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonRenderer.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalCaption.java trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalHeaderRenderer.java Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2010-02-12 10:47:37 UTC (rev 2021) +++ trunk/build.xml 2010-02-12 22:53:03 UTC (rev 2022) @@ -18,6 +18,9 @@ <property name="release_ore_dir" value="release/ore-${today}" /> <property name="version_ore_dir" value="ore-${today}" /> + <property environment="env"/> + <property name = "protege.home" location="${env.PROTEGE_HOME}"/> + <property name = "protege.plugins" location="${protege.home}/plugins"/> <!-- other settings --> <!-- maximum amount of allocated memory in startup scripts --> @@ -552,5 +555,50 @@ </tar> <delete dir="release"/> </target> + + <!-- build the DL-Learner evaluation plugin for Protege --> + <target name="buildEvaluationProtegePlugin"> + <property name="source" value="src/dl-learner/org/dllearner/tools/evaluationplugin" /> + <property name="temp" value="${source}/temp" /> + <property name="build" value="${source}/build" /> + <mkdir dir="${temp}" /> + <mkdir dir="${build}" /> + <mkdir dir="${temp}/META-INF" /> + <mkdir dir="${temp}/lib" /> + <copy toDir="${temp}/META-INF" > + <fileset dir="${source}/META-INF" includes="MANIFEST.MF," /> + </copy> + <copy toDir="${temp}/lib" > + <fileset dir="${lib_dir}/ore-tool" includes="swingx-1.0.jar" /> + </copy> + <copy toDir="${temp}/lib" > + <fileset dir="${lib_dir}/jena" includes="json.jar" /> + </copy> + <copy toDir="${temp}" > + <fileset dir="${class_dir}" /> + </copy> + <copy toDir="${temp}" > + <fileset dir="${source}/META-INF" includes="**/*.xml," excludes="build.xml" /> + </copy> + <javac srcdir="${source}" + destdir="${temp}" + debug="on" + target="1.5"> + <classpath refid="classpath"/> + </javac> + <jar destfile="${build}/DL-Learner-evaluation-protege-plugin.jar" manifest="${temp}/META-INF/MANIFEST.MF"> + <fileset dir="${temp}" /> + </jar> + </target> + + <!-- build and install the DL-Learner evaluation plugin for Protege to the given Protege directory --> + <target name="installEvaluationProtegePlugin" depends="buildEvaluationProtegePlugin"> + <copy file="${build}/DL-Learner-evaluation-protege-plugin.jar" + todir = "${protege.plugins}" + overwrite = "true"/> + <delete dir="${temp}" /> + <delete dir="${build}" /> + </target> + </project> Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationPlugin.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationPlugin.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationPlugin.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,293 @@ +package org.dllearner.tools.evaluationplugin; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.event.ActionEvent; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.net.URI; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import javax.swing.AbstractAction; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.ScrollPaneConstants; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + +import org.dllearner.core.owl.NamedClass; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.utilities.owl.ConceptComparator; +import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; +import org.protege.editor.owl.ui.view.AbstractOWLViewComponent; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLEntity; +import org.semanticweb.owl.model.OWLOntology; + + + +public class EvaluationPlugin extends AbstractOWLViewComponent implements ListSelectionListener{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + private EvaluationTable evaluationTable; + private GraphicalCoveragePanel coveragePanel; + private JLabel inconsistencyLabel; + private JButton nextSaveButton; + private JLabel currentClassLabel; + + private List<NamedClass> classes = new ArrayList<NamedClass>(); + private int currentClassIndex = 0; + + + private final ConceptComparator comparator = new ConceptComparator(); + + private static final String CURRENT_CLASS_MESSAGE = "Showing equivalent class expressions for class "; + private static final String INCONSISTENCY_WARNING = + "<html>Warning. Selected class expressions leads to an inconsistent ontology!<br>" + + "(Often, suggestions leading to an inconsistency should still be added. They help to detect problems in " + + "the ontology elsewhere.<br>" + + " See http://dl-learner.org/files/screencast/protege/screencast.htm .)</html>"; + + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastEquivalenceStandardMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastEquivalenceFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastEquivalencePredaccMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastEquivalenceGenFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastEquivalenceJaccardMap; + + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastSuperStandardMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastSuperFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastSuperPredaccMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastSuperGenFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> fastSuperJaccardMap; + + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlEquivalenceStandardMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlEquivalenceFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlEquivalencePredaccMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlEquivalenceGenFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlEquivalenceJaccardMap; + + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlSuperStandardMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlSuperFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlSuperPredaccMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlSuperGenFMeasureMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> owlSuperJaccardMap; + + private Map<NamedClass, List<EvaluatedDescriptionClass>> defaultEquivalenceMap; + private Map<NamedClass, List<EvaluatedDescriptionClass>> defaultSuperMap; + + + @Override + protected void initialiseOWLView() throws Exception { + System.out.println("Initializing DL-Learner Evaluation Plugin..."); + createUI(); + parseEvaluationFile(); + showNextEvaluatedDescriptions(); + } + + @Override + protected void disposeOWLView() { + evaluationTable.getSelectionModel().removeListSelectionListener(this); + evaluationTable.dispose(); + } + + /** + * Create the user interface. + */ + private void createUI(){ + setLayout(new BorderLayout()); + + currentClassLabel = new JLabel(); + add(currentClassLabel, BorderLayout.NORTH); + + JPanel tableHolderPanel = new JPanel(new BorderLayout()); + evaluationTable = new EvaluationTable(getOWLEditorKit()); + evaluationTable.getSelectionModel().addListSelectionListener(this); + JScrollPane sp = new JScrollPane(evaluationTable); + sp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + tableHolderPanel.add(sp); + inconsistencyLabel = new JLabel(INCONSISTENCY_WARNING); + inconsistencyLabel.setForeground(getBackground()); + tableHolderPanel.add(inconsistencyLabel, BorderLayout.SOUTH); + add(tableHolderPanel); + + + JPanel coverageHolderPanel = new JPanel(new BorderLayout()); + coveragePanel = new GraphicalCoveragePanel(getOWLEditorKit()); + coverageHolderPanel.add(coveragePanel); + + nextSaveButton = new JButton(); + nextSaveButton.setActionCommand("next"); + nextSaveButton.setAction(new AbstractAction("Next"){ + /** + * + */ + private static final long serialVersionUID = 6982520538511324236L; + + @Override + public void actionPerformed(ActionEvent e) { + showNextEvaluatedDescriptions(); + } + }); + coverageHolderPanel.add(nextSaveButton, BorderLayout.SOUTH); + add(coverageHolderPanel, BorderLayout.SOUTH); + + } + + /** + * Show the descriptions for next class to evaluate. + */ + private void showNextEvaluatedDescriptions(){ + showInconsistencyWarning(false); + NamedClass currentClass = classes.get(currentClassIndex++); + + //show the name for the current class in manchester syntax + String renderedClass = getOWLModelManager().getRendering(OWLAPIDescriptionConvertVisitor.getOWLDescription(currentClass)); + currentClassLabel.setText(CURRENT_CLASS_MESSAGE + renderedClass); + System.out.println("Showing evaluated descriptions for class " + currentClass.toString()); + + //refresh coverage panel to the current class + coveragePanel.setConcept(currentClass); + + //necessary to set the current class to evaluate as activated entity + OWLDescription desc = OWLAPIDescriptionConvertVisitor.getOWLDescription(currentClass); + OWLEntity curEntity = desc.asOWLClass(); + getOWLEditorKit().getWorkspace().getOWLSelectionModel().setSelectedEntity(curEntity); + + evaluationTable.setDescriptions(getMergedDescriptions(currentClass)); + //if the currently shown class expressions are for the last class to evaluate, change + //button text and action to save the user input + if(currentClassIndex == classes.size()){ + nextSaveButton.setAction(new AbstractAction("Save"){ + + @Override + public void actionPerformed(ActionEvent arg0) { + // TODO Auto-generated method stub + + } + + }); + + } + } + + /** + * Load the computed DL-Learner results from a file, which name corresponds to the loaded owl-file. + */ + @SuppressWarnings("unchecked") + private void parseEvaluationFile(){ + OWLOntology activeOnt = getOWLModelManager().getActiveOntology(); + URI uri = getOWLModelManager().getOntologyPhysicalURI(activeOnt); + String resultFile = uri.toString().substring(0, uri.toString().lastIndexOf('.') + 1) + "res"; + InputStream fis = null; + try { + fis = new FileInputStream(new File(URI.create(resultFile))); + ObjectInputStream o = new ObjectInputStream(fis); + owlEquivalenceStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlEquivalenceFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlEquivalencePredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlEquivalenceJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlEquivalenceGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + + owlSuperStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlSuperFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlSuperPredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlSuperJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + owlSuperGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + + fastEquivalenceStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastEquivalenceFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastEquivalencePredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastEquivalenceJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastEquivalenceGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + + fastSuperStandardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastSuperFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastSuperPredaccMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastSuperJaccardMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + fastSuperGenFMeasureMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + + defaultEquivalenceMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + defaultSuperMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ClassNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + classes.addAll(new TreeSet<NamedClass>(owlEquivalenceStandardMap.keySet())); + + + } + + /** + * Get a disjoint list of all computed evaluated descriptions. + * @param nc The class which is currently to evaluate. + * @return A List of disjoint evaluated descriptions - here disjointness only by the description + * not the accuracy. + */ + private List<EvaluatedDescriptionClass> getMergedDescriptions(NamedClass nc){ + + Set<EvaluatedDescriptionClass> evaluatedDescriptions = new TreeSet<EvaluatedDescriptionClass>(new Comparator<EvaluatedDescriptionClass>(){ + + public int compare(EvaluatedDescriptionClass o1, EvaluatedDescriptionClass o2) { + return comparator.compare(o1.getDescription(), o2.getDescription()); + + }; + }); + evaluatedDescriptions.addAll(owlEquivalenceStandardMap.get(nc)); + evaluatedDescriptions.addAll(owlEquivalenceJaccardMap.get(nc)); + evaluatedDescriptions.addAll(owlEquivalenceGenFMeasureMap.get(nc)); + evaluatedDescriptions.addAll(owlEquivalenceFMeasureMap.get(nc)); + evaluatedDescriptions.addAll(owlEquivalencePredaccMap.get(nc)); + evaluatedDescriptions.addAll(fastEquivalenceStandardMap.get(nc)); + evaluatedDescriptions.addAll(fastEquivalenceJaccardMap.get(nc)); + evaluatedDescriptions.addAll(fastEquivalenceGenFMeasureMap.get(nc)); + evaluatedDescriptions.addAll(fastEquivalenceFMeasureMap.get(nc)); + evaluatedDescriptions.addAll(fastEquivalencePredaccMap.get(nc)); + List<EvaluatedDescriptionClass> merged = new ArrayList<EvaluatedDescriptionClass>(evaluatedDescriptions); + + return merged; + } + + /** + * Show a red colored warning, if adding the selected class expression would lead to an inconsistent + * ontology. + * @param show If true a warning is displayed, otherwise not. + */ + private void showInconsistencyWarning(boolean show){ + if(show){ + inconsistencyLabel.setForeground(Color.RED); + } else { + inconsistencyLabel.setForeground(getBackground()); + } + } + + @Override + public void valueChanged(ListSelectionEvent e) { + if (!e.getValueIsAdjusting() && evaluationTable.getSelectedRow() >= 0) { + coveragePanel.setNewClassDescription(evaluationTable.getSelectedEvaluatedDescription()); + showInconsistencyWarning(!evaluationTable.getSelectedEvaluatedDescription().isConsistent()); + } + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTable.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTable.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,132 @@ +package org.dllearner.tools.evaluationplugin; + +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.MouseEvent; +import java.util.List; + +import javax.swing.JComponent; +import javax.swing.table.JTableHeader; + +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.jdesktop.swingx.JXTable; +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.renderer.LinkedObjectComponent; +import org.protege.editor.owl.ui.renderer.LinkedObjectComponentMediator; +import org.protege.editor.owl.ui.renderer.OWLCellRenderer; +import org.semanticweb.owl.model.OWLObject; + +public class EvaluationTable extends JXTable implements LinkedObjectComponent{ + /** + * + */ + private static final long serialVersionUID = 6293382971051635859L; + + private LinkedObjectComponentMediator mediator; + + private static final String[] TOOLTIPS = { + "The learned equivalent class expression.", + "Improvement", + "Equal Quality (+)", + "Equal Quality (-)", + "Inferior", + "Not acceptable", + "Error" }; + + public EvaluationTable(OWLEditorKit editorKit){ + super(new EvaluationTableModel()); + mediator = new LinkedObjectComponentMediator(editorKit, this); + OWLCellRenderer renderer = new OWLCellRenderer(editorKit, true, false); + renderer.setHighlightKeywords(true); + getColumn(0).setCellRenderer(renderer); + setRenderers(); + setColumnSizes(); + } + + @Override + protected JTableHeader createDefaultTableHeader() { + return new JTableHeader(columnModel) { + /** + * + */ + private static final long serialVersionUID = -3386641672808329591L; + + @Override + public String getToolTipText(MouseEvent e) { + + java.awt.Point p = e.getPoint(); + int index = columnModel.getColumnIndexAtX(p.x); + int realIndex = + columnModel.getColumn(index).getModelIndex(); + return TOOLTIPS[realIndex]; + } + + + }; + + } + + private void setRenderers(){ + for(int i = 1; i < getColumnCount(); i++){ + getColumn(i).setCellRenderer(new RadioButtonRenderer()); + getColumn(i).setCellEditor(new RadioButtonEditor()); + getColumn(i).setHeaderRenderer(new VerticalHeaderRenderer()); + } + } + + private void setColumnSizes(){ + for(int i = 1; i < getColumnCount(); i++){ + getColumn(i).setMaxWidth(30); + } + } + + @Override + public JComponent getComponent() { + return this; + } + + @Override + public OWLObject getLinkedObject() { + return mediator.getLinkedObject(); + } + + @Override + public Point getMouseCellLocation() { + Point mouseLoc = getMousePosition(); + if (mouseLoc == null) { + return null; + } + int index = rowAtPoint(mouseLoc); + Rectangle cellRect = getCellRect(index, 0, true); + + return new Point(mouseLoc.x - cellRect.x, mouseLoc.y - cellRect.y); + } + + @Override + public Rectangle getMouseCellRect() { + Point loc = getMousePosition(); + if (loc == null) { + return null; + } + int index = rowAtPoint(loc); + return getCellRect(index, 0, true); + } + + @Override + public void setLinkedObject(OWLObject object) { + mediator.setLinkedObject(object); + } + + public void setDescriptions(List<EvaluatedDescriptionClass> descriptions){ + ((EvaluationTableModel)getModel()).setDescriptions(descriptions); + } + + public EvaluatedDescriptionClass getSelectedEvaluatedDescription(){ + return ((EvaluationTableModel)getModel()).getSelectedEvaluatedDescription(getSelectedRow()); + } + + public void dispose(){ + mediator.dispose(); + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTableModel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/EvaluationTableModel.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,91 @@ +package org.dllearner.tools.evaluationplugin; + +import java.util.ArrayList; +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import org.dllearner.core.owl.Description; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; + +public class EvaluationTableModel extends AbstractTableModel { + + /** + * + */ + private static final long serialVersionUID = 1L; + private List<EvaluatedDescriptionClass> descriptions = new ArrayList<EvaluatedDescriptionClass>(); + private List<Integer> selected; + + private static final String[] COLUMN_NAMES = { + "equivalent class expression", + "Improvement", + "Equal Quality (+)", + "Equal Quality (-)", + "Inferior", + "Not acceptable", + "Error" }; + + @Override + public int getColumnCount() { + return 7; + } + + @Override + public int getRowCount() { + return descriptions.size(); + } + + @Override + public Class<?> getColumnClass(int columnIndex) { + if(columnIndex == 0){ + return Description.class; + } else { + return Object.class; + } + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + if(columnIndex == 0){ + return OWLAPIDescriptionConvertVisitor.getOWLDescription(descriptions.get(rowIndex).getDescription()); + } else { + return Boolean.valueOf(selected.get(rowIndex) == columnIndex); + } + } + + @Override + public void setValueAt(Object aValue, int rowIndex, int columnIndex) { + if(columnIndex >= 1){ + selected.set(rowIndex, Integer.valueOf(columnIndex)); + fireTableRowsUpdated(rowIndex, rowIndex); + } else { + super.setValueAt(aValue, rowIndex, columnIndex); + } + } + + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + return columnIndex >= 1; + } + + @Override + public String getColumnName(int columnIndex) { + return COLUMN_NAMES[columnIndex]; + } + + public void setDescriptions(List<EvaluatedDescriptionClass> descriptions){ + this.descriptions = descriptions; + this.selected = new ArrayList<Integer>(descriptions.size()); + for(int i = 0; i < descriptions.size(); i++){ + selected.add(i, Integer.valueOf(2)); + } + fireTableDataChanged(); + } + + public EvaluatedDescriptionClass getSelectedEvaluatedDescription(int rowIndex){ + return descriptions.get(rowIndex); + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/GraphicalCoveragePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/GraphicalCoveragePanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/GraphicalCoveragePanel.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,707 @@ +/** + * Copyright (C) 2007-2009, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.tools.evaluationplugin; + +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionListener; +import java.awt.geom.Ellipse2D; +import java.util.Random; +import java.util.Set; +import java.util.Vector; + +import javax.swing.JPanel; + +import org.dllearner.core.EvaluatedDescription; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.NamedClass; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.tools.protege.IndividualPoint; +import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; +import org.protege.editor.owl.OWLEditorKit; + + +/** + * This class draws the graphical coverage of a learned concept. + * + * @author Christian Koetteritzsch + * + */ +public class GraphicalCoveragePanel extends JPanel implements MouseMotionListener{ + + private static final long serialVersionUID = 855436961912515267L; + private static final int HEIGHT = 200; + private static final int WIDTH = 200; + private static final int ELLIPSE_X_AXIS = 30; + private static final int ELLIPSE_Y_AXIS = 30; + private static final int MAX_NUMBER_OF_INDIVIDUAL_POINTS = 20; +// private static final int PLUS_SIZE = 5; + private static final int MAX_RANDOM_NUMBER = 300; + + +// private int shiftXAxis; +// private int distortionOld; + private Ellipse2D oldConcept; + private Ellipse2D newConcept; + + private EvaluatedDescription eval; + private NamedClass concept; + + private OWLEditorKit editorKit; + + + private final Vector<IndividualPoint> posCovIndVector; + private final Vector<IndividualPoint> posNotCovIndVector; + private final Vector<IndividualPoint> additionalIndividuals; + private final Vector<IndividualPoint> points; + +// private int adjustment; + private int shiftOldConcept; + private int shiftNewConcept; + private int shiftNewConceptX; + private int shiftCovered; + private int x1; + private int x2; + private int y1; + private int y2; +// private int centerX; +// private int centerY; + private final Random random; + private final Color darkGreen; + private final Color darkRed; +// private int notCoveredInd; + + private String coverageString = ""; + private String coversAdditionalString = ""; + + + /** + * + * This is the constructor for the GraphicalCoveragePanel. + * + * @param desc + * EvaluatedDescription + * @param concept + * String + * @param p + * MoreDetailForSuggestedConceptsPanel + */ + public GraphicalCoveragePanel(OWLEditorKit editorKit) { + this.editorKit = editorKit; + + this.setPreferredSize(new Dimension(640, 260)); + +// this.repaint(); + darkGreen = new Color(0, 100, 0); + darkRed = new Color(205, 0, 0); + random = new Random(); + posCovIndVector = new Vector<IndividualPoint>(); + posNotCovIndVector = new Vector<IndividualPoint>(); + additionalIndividuals = new Vector<IndividualPoint>(); + points = new Vector<IndividualPoint>(); + + + + oldConcept = new Ellipse2D.Double(ELLIPSE_X_AXIS, + ELLIPSE_Y_AXIS, WIDTH, HEIGHT); + newConcept = new Ellipse2D.Double(0, 0, 0, 0); + addMouseMotionListener(this); +// this.computeIndividualPoints(); + + } + + + @Override + protected void paintComponent(Graphics g) { +// g.clearRect(0, 0, 400, 400); +// g.clearRect(320, 130, 320, 50); + Graphics2D g2D; + g2D = (Graphics2D) g; +// Composite original = g2D.getComposite(); + AlphaComposite ac = AlphaComposite.getInstance( + AlphaComposite.SRC_OVER, 0.5f); + g2D.setColor(Color.BLACK); + + if(concept != null){ + String rendering = editorKit.getOWLModelManager().getRendering(OWLAPIDescriptionConvertVisitor.getOWLDescription(concept)); + g2D.drawString(rendering, 320, 10); + } + if(eval != null){ + String rendering = editorKit.getOWLModelManager().getRendering(OWLAPIDescriptionConvertVisitor.getOWLDescription(eval.getDescription())); + g2D.drawString(rendering, 320, 30); + } + + + g2D.setColor(Color.ORANGE); + g2D.fillOval(310, 20, 9, 9); + g2D.setColor(Color.black); + int p = 50; + + g2D.setColor(darkGreen); + Ellipse2D circlePoint = new Ellipse2D.Double(315 - 1, p - 6, 4, 4); + g2D.fill(circlePoint); + g2D.setColor(Color.BLACK); + g2D.drawString("individuals covered by", 320, p); + g2D.setColor(Color.ORANGE); + g2D.fillOval(460, p - 9, 9, 9); + g2D.setColor(Color.BLACK); + g2D.drawString("and", 475, p); + g2D.setColor(Color.YELLOW); + g2D.fillOval(505, p - 9, 9, 9); + g2D.setColor(Color.BLACK); + p = p + 20; + g2D.drawString("(OK)", 320, p); + p = p + 20; + + g2D.setColor(darkRed); + Ellipse2D circlePoint2 = new Ellipse2D.Double(315 - 1, p - 6, 4, 4); + g2D.fill(circlePoint2); + g2D.setColor(Color.BLACK); + g2D.drawString("individuals covered by", 320, p); + g2D.setColor(Color.ORANGE); + g2D.fillOval(460, p - 9, 9, 9); + g2D.setColor(Color.BLACK); + p = p + 20; + g2D.drawString("(potential problem)", 320, p); + p = p + 20; + g2D.setColor(darkRed); + Ellipse2D circlePoint3 = new Ellipse2D.Double(315 - 1, p - 6, 4, 4); + g2D.fill(circlePoint3); + g2D.setColor(Color.BLACK); + g2D.drawString("individuals covered by", 320, p); + g2D.setColor(Color.YELLOW); + g2D.fillOval(460, p - 9, 9, 9); + g2D.setColor(Color.BLACK); + p = p + 20; + g2D.drawString("(potential problem)", 320, p); + + p = p +20; + g2D.drawString(coverageString , 320, p); + p = p +20; + g2D.drawString(coversAdditionalString , 320, p); + + + + g2D.setColor(Color.YELLOW); + g2D.fill(oldConcept); + g2D.fillOval(310, 0, 9, 9); + g2D.setColor(Color.ORANGE); + g2D.setComposite(ac); + g2D.fill(newConcept); + g2D.setColor(Color.BLACK); + for (int i = 0; i < posCovIndVector.size(); i++) { + g2D.setColor(darkGreen); + g2D.fill(posCovIndVector.get(i).getIndividualPoint()); + } + + for (int i = 0; i < posNotCovIndVector.size(); i++) { + g2D.setColor(darkRed); + g2D.fill(posNotCovIndVector.get(i).getIndividualPoint()); + } + + for (int i = 0; i < additionalIndividuals.size(); i++) { + g2D.setColor(Color.BLACK); + g2D.fill(additionalIndividuals.get(i).getIndividualPoint()); + } + +// if(eval != null){ +// // Plus 1 +// if (coveredIndividualSize != OREManager.getInstance() +// .getPelletReasoner().getIndividuals( +// OREManager.getInstance().getCurrentClass2Learn()) +// .size() +// && notCoveredInd != 0) { +// g2D.drawLine(x1 - 1 - shiftOldConcept, y1 - 1, x2 + 1 +// - shiftOldConcept, y1 - 1); +// g2D.drawLine(x1 - shiftOldConcept, centerY - 1, x2 +// - shiftOldConcept, centerY - 1); +// g2D.drawLine(x1 - shiftOldConcept, centerY, x2 +// - shiftOldConcept, centerY); +// g2D.drawLine(x1 - shiftOldConcept, centerY + 1, x2 +// - shiftOldConcept, centerY + 1); +// g2D.drawLine(x1 - 1 - shiftOldConcept, y2 + 1, x2 + 1 +// - shiftOldConcept, y2 + 1); +// +// g2D.drawLine(x1 - 1 - shiftOldConcept, y1 - 1, x1 - 1 +// - shiftOldConcept, y2 + 1); +// g2D.drawLine(centerX - 1 - shiftOldConcept, y1, centerX - 1 +// - shiftOldConcept, y2); +// g2D.drawLine(centerX - shiftOldConcept, y1, centerX +// - shiftOldConcept, y2); +// g2D.drawLine(centerX + 1 - shiftOldConcept, y1, centerX + 1 +// - shiftOldConcept, y2); +// g2D.drawLine(x2 + 1 - shiftOldConcept, y1 - 1, x2 + 1 +// - shiftOldConcept, y2 + 1); +// } +// // Plus 2 +// +// g2D.drawLine(x1 - 1 + shiftCovered, y1 - 1, x2 + 1 + shiftCovered, +// y1 - 1); +// g2D.drawLine(x1 + shiftCovered, centerY - 1, x2 + shiftCovered, +// centerY - 1); +// g2D +// .drawLine(x1 + shiftCovered, centerY, x2 + shiftCovered, +// centerY); +// g2D.drawLine(x1 + shiftCovered, centerY + 1, x2 + shiftCovered, +// centerY + 1); +// g2D.drawLine(x1 - 1 + shiftCovered, y2 + 1, x2 + 1 + shiftCovered, +// y2 + 1); +// +// g2D.drawLine(x1 - 1 + shiftCovered, y1 - 1, x1 - 1 + shiftCovered, +// y2 + 1); +// g2D.drawLine(centerX - 1 + shiftCovered, y1, centerX - 1 +// + shiftCovered, y2); +// g2D +// .drawLine(centerX + shiftCovered, y1, centerX +// + shiftCovered, y2); +// g2D.drawLine(centerX + 1 + shiftCovered, y1, centerX + 1 +// + shiftCovered, y2); +// g2D.drawLine(x2 + 1 + shiftCovered, y1 - 1, x2 + 1 + shiftCovered, +// y2 + 1); +// +// // Plus 3 +// if (coveredIndividualSize != OREManager.getInstance() +// .getPelletReasoner().getIndividuals( +// OREManager.getInstance().getCurrentClass2Learn()) +// .size() +// && ((EvaluatedDescriptionClass) eval) +// .getAdditionalInstances().size() != 0) { +// g2D.drawLine(x1 - 1 + shiftNewConcept, y1 - 1, x2 + 1 +// + shiftNewConcept, y1 - 1); +// g2D.drawLine(x1 + shiftNewConcept, centerY - 1, x2 +// + shiftNewConcept, centerY - 1); +// g2D.drawLine(x1 + shiftNewConcept, centerY, x2 +// + shiftNewConcept, centerY); +// g2D.drawLine(x1 + shiftNewConcept, centerY + 1, x2 +// + shiftNewConcept, centerY + 1); +// g2D.drawLine(x1 - 1 + shiftNewConcept, y2 + 1, x2 + 1 +// + shiftNewConcept, y2 + 1); +// +// g2D.drawLine(x1 - 1 + shiftNewConcept, y1 - 1, x1 - 1 +// + shiftNewConcept, y2 + 1); +// g2D.drawLine(centerX - 1 + shiftNewConcept, y1, centerX - 1 +// + shiftNewConcept, y2); +// g2D.drawLine(centerX + shiftNewConcept, y1, centerX +// + shiftNewConcept, y2); +// g2D.drawLine(centerX + 1 + shiftNewConcept, y1, centerX + 1 +// + shiftNewConcept, y2); +// g2D.drawLine(x2 + 1 + shiftNewConcept, y1 - 1, x2 + 1 +// + shiftNewConcept, y2 + 1); +// } +// // Plus 4 +// if (((EvaluatedDescriptionClass) eval).getAddition() != 1.0 +// && ((EvaluatedDescriptionClass) eval).getCoverage() == 1.0) { +// g2D.drawLine(x1 - 1 + shiftNewConceptX, y1 - 1 +// + shiftNewConcept, x2 + 1 + shiftNewConceptX, y1 - 1 +// + shiftNewConcept); +// g2D.drawLine(x1 + shiftNewConceptX, centerY - 1 +// + shiftNewConcept, x2 + shiftNewConceptX, centerY - 1 +// + shiftNewConcept); +// g2D.drawLine(x1 + shiftNewConceptX, centerY + shiftNewConcept, +// x2 + shiftNewConceptX, centerY + shiftNewConcept); +// g2D.drawLine(x1 + shiftNewConceptX, centerY + 1 +// + shiftNewConcept, x2 + shiftNewConceptX, centerY + 1 +// + shiftNewConcept); +// g2D.drawLine(x1 - 1 + shiftNewConceptX, y2 + 1 +// + shiftNewConcept, x2 + 1 + shiftNewConceptX, y2 + 1 +// + shiftNewConcept); +// +// g2D.drawLine(x1 - 1 + shiftNewConceptX, y1 - 1 +// + shiftNewConcept, x1 - 1 + shiftNewConceptX, y2 + 1 +// + shiftNewConcept); +// g2D.drawLine(centerX - 1 + shiftNewConceptX, y1 +// + shiftNewConcept, centerX - 1 + shiftNewConceptX, y2 +// + shiftNewConcept); +// g2D.drawLine(centerX + shiftNewConceptX, y1 + shiftNewConcept, +// centerX + shiftNewConceptX, y2 + shiftNewConcept); +// g2D.drawLine(centerX + 1 + shiftNewConceptX, y1 +// + shiftNewConcept, centerX + 1 + shiftNewConceptX, y2 +// + shiftNewConcept); +// g2D.drawLine(x2 + 1 + shiftNewConceptX, y1 - 1 +// + shiftNewConcept, x2 + 1 + shiftNewConceptX, y2 + 1 +// + shiftNewConcept); +// } +// } +// +// for (int i = 0; i < posCovIndVector.size(); i++) { +// g2D.setColor(darkGreen); +// g2D.fill(posCovIndVector.get(i).getIndividualPoint()); +// } +// +// for (int i = 0; i < posNotCovIndVector.size(); i++) { +// g2D.setColor(darkRed); +// g2D.fill(posNotCovIndVector.get(i).getIndividualPoint()); +// } +// +// for (int i = 0; i < additionalIndividuals.size(); i++) { +// g2D.setColor(Color.BLACK); +// g2D.fill(additionalIndividuals.get(i).getIndividualPoint()); +// } +// if (!((EvaluatedDescriptionClass) eval).isConsistent()) { +// g2D.setComposite(original); +// g2D.setColor(darkRed); +// g2D +// .drawString( +// "Adding this class expression may lead to an inconsistent ontology.", +// 0, 220); +// } +// if (eval.getAccuracy() == 1.0) { +// g2D.setComposite(original); +// g2D.setColor(Color.ORANGE); +// g2D.fillOval(0, 211, 9, 9); +// g2D.setColor(darkRed); +// g2D.drawString("and", 25, 220); +// g2D.setColor(Color.YELLOW); +// g2D.fillOval(65, 211, 9, 9); +// g2D.setColor(darkRed); +// g2D.drawString("cover the same instances.", 95, 220); +// } + +// } +// getParent().repaint(); + } + + + + public void setNewClassDescription(EvaluatedDescription desc) { + this.eval = desc; + + + boolean hasAdditional = !((EvaluatedDescriptionClass) eval).getAdditionalInstances().isEmpty(); + boolean allPosCovered = ((EvaluatedDescriptionClass) eval).getCoverage() == 1.0; + + if (allPosCovered && hasAdditional) { + newConcept = new Ellipse2D.Double(ELLIPSE_X_AXIS -25 + , ELLIPSE_Y_AXIS -25, WIDTH + 50, + HEIGHT + 50); + + + } else if(!allPosCovered && hasAdditional){ + newConcept = new Ellipse2D.Double(ELLIPSE_X_AXIS + 20 + , ELLIPSE_Y_AXIS, WIDTH, + HEIGHT); + } else if(allPosCovered && !hasAdditional){ + newConcept = new Ellipse2D.Double(ELLIPSE_X_AXIS + , ELLIPSE_Y_AXIS, WIDTH, + HEIGHT); + } else if(!allPosCovered && !hasAdditional){ + newConcept = new Ellipse2D.Double(ELLIPSE_X_AXIS + 20 + , ELLIPSE_Y_AXIS, WIDTH - 20, + HEIGHT); + } +// computeGraphics(); + computeIndividualPoints(); + int coveredInstanceCount = ((EvaluatedDescriptionClass) eval).getCoveredInstances().size(); + int instanceCount = coveredInstanceCount + ((EvaluatedDescriptionClass) eval).getNotCoveredInstances().size(); + int coverage = (int)(((EvaluatedDescriptionClass) eval).getCoverage() * 100); + int additionalCount = ((EvaluatedDescriptionClass) eval).getAdditionalInstances().size(); + coverageString = "Covers " + coveredInstanceCount + " of " + instanceCount + + "(" + coverage + " %) of all instances."; + coversAdditionalString = "Covers " + additionalCount + " additional instances."; + getParent().repaint(); + + } + + public void setConcept(NamedClass nc){ + eval = null; + clear(); + concept = nc; + getParent().repaint(); + } + + public void clear(){ + newConcept = new Ellipse2D.Double(0, 0, 0, 0); + posCovIndVector.clear(); + posNotCovIndVector.clear(); + additionalIndividuals.clear(); + points.clear(); + coverageString = ""; + coversAdditionalString = ""; + getParent().repaint(); + } + + + + public void computeIndividualPoints() { + posCovIndVector.clear(); + posNotCovIndVector.clear(); + additionalIndividuals.clear(); + points.clear(); + + if (eval != null) { + Set<Individual> posInd = ((EvaluatedDescriptionClass) eval) + .getCoveredInstances(); + int i = 0; + double x = random.nextInt(MAX_RANDOM_NUMBER); + double y = random.nextInt(MAX_RANDOM_NUMBER); + boolean flag = true; + for (Individual ind : posInd) { + flag = true; + if (i < MAX_NUMBER_OF_INDIVIDUAL_POINTS) { + while (flag) { + if (newConcept.contains(x, y) + && oldConcept.contains(x, y) + && !(x >= this.getX1() + this.getShiftCovered() + && x <= this.getX2() + + this.getShiftCovered() + && y >= this.getY1() && y <= this + .getY2())) { + + posCovIndVector.add(new IndividualPoint("*", + (int) x, (int) y, ind.toString())); + + i++; + flag = false; + + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + break; + } else { + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + } + + } + } + } + + Set<Individual> posNotCovInd = ((EvaluatedDescriptionClass) eval) + .getAdditionalInstances(); + int j = 0; + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + for (Individual ind : posNotCovInd) { + flag = true; + if (j < MAX_NUMBER_OF_INDIVIDUAL_POINTS) { + while (flag) { + if (!oldConcept.contains(x, y) + && newConcept.contains(x, y) + && !(x >= this.getX1() + + this.getShiftNewConcept() + && x <= this.getX2() + + this.getShiftNewConcept() + && y >= this.getY1() && y <= this + .getY2()) + && !(x >= this.getX1() + + this.getShiftNewConceptX() + && x <= this.getX2() + + this.getShiftNewConceptX() + && y >= this.getY1() + + this.getShiftNewConcept() && y <= this + .getY2() + + this.getShiftNewConcept())) { + + + posNotCovIndVector.add(new IndividualPoint("*", + (int) x, (int) y, ind.toString())); + + + j++; + flag = false; + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + break; + } else { + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + } + + } + } + } + + Set<Individual> notCovInd = ((EvaluatedDescriptionClass) eval).getNotCoveredInstances(); + + +// notCoveredInd = notCovInd.size(); + int k = 0; + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + for (Individual ind : notCovInd) { + flag = true; + if (k < MAX_NUMBER_OF_INDIVIDUAL_POINTS) { + while (flag) { + if (oldConcept.contains(x, y) + && !newConcept.contains(x, y) + && !(x >= this.getX1() + - this.getShiftOldConcept() + && x <= this.getX2() + - this.getShiftOldConcept() + && y >= this.getY1() && y <= this + .getY2())) { + + posNotCovIndVector.add(new IndividualPoint("*", + (int) x, (int) y, ind.toString())); + + k++; + flag = false; + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + break; + } else { + x = random.nextInt(MAX_RANDOM_NUMBER); + y = random.nextInt(MAX_RANDOM_NUMBER); + } + + } + } + } + points.addAll(posCovIndVector); + points.addAll(posNotCovIndVector); + points.addAll(additionalIndividuals); + } + } + + /** + * This method returns a Vector of all individuals that are drawn in the + * panel. + * + * @return Vector of Individuals + */ + public Vector<IndividualPoint> getIndividualVector() { + return points; + } + + /** + * This method returns the GraphicalCoveragePanel. + * + * @return GraphicalCoveragePanel + */ + public GraphicalCoveragePanel getGraphicalCoveragePanel() { + return this; + } + + + + /** + * Returns the min. x value of the plus. + * + * @return int min X Value + */ + public int getX1() { + return x1; + } + + /** + * Returns the max. x value of the plus. + * + * @return int max X Value + */ + public int getX2() { + return x2; + } + + /** + * Returns the min. y value of the plus. + * + * @return int min Y Value + */ + public int getY1() { + return y1; + } + + /** + * Returns the max. y value of the plus. + * + * @return int max Y Value + */ + public int getY2() { + return y2; + } + + /** + * This method returns how much the old concept must be shifted. + * @return shift of the old concept + */ + public int getShiftOldConcept() { + return shiftOldConcept; + } + + /** + * This method returns how much the plus in the middle must be shifted. + * @return shift of the middle plus + */ + public int getShiftCovered() { + return shiftCovered; + } + + /** + * This method returns how much the new concept must be shifted. + * @return shift of the new concept + */ + public int getShiftNewConcept() { + return shiftNewConcept; + } + + /** + * This method returns how much the new concept must be shifted. + * @return shift of the new concept + */ + public int getShiftNewConceptX() { + return shiftNewConceptX; + } + + /** + * Unsets the panel after plugin is closed. + */ + public void unsetPanel() { + this.removeAll(); + eval = null; + } + + /** + * Returns the currently selected evaluated description. + * + * @return EvaluatedDescription + */ + public EvaluatedDescription getEvaluateddescription() { + return eval; + } + + @Override + public void mouseDragged(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseMoved(MouseEvent e) { + double x = e.getPoint().getX(); + double y = e.getPoint().getY(); + String toolTip = null; + for(IndividualPoint point : points){ + if(Math.abs(point.getIndividualPoint().getCenterX() - x) <= 8 + && Math.abs(point.getIndividualPoint().getCenterY() - y) <= 8 ){ + toolTip = point.getIndividualName(); + break; + + } + + } + setToolTipText(toolTip); + + + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/MANIFEST.MF (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/MANIFEST.MF 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,43 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: DL-Learner Evaluation Plugin +Bundle-SymbolicName: org.coode.dlquery;singleton:=true +Bundle-Category: protege +Bundle-Description: A plugin for evaluating DL-Learner class descriptions +Bundle-Vendor: Lorenz Buehmann +Bundle-DocURL: http://www.co-ode.org +Bundle-ClassPath: .,lib/dllearner.jar,lib/json.jar,lib/swingx-1.0.jar +Import-Package: org.osgi.framework, + org.apache.log4j, + javax.swing, + javax.swing.border, + javax.swing.colorchooser, + javax.swing.event, + javax.swing.filechooser, + javax.swing.plaf, + javax.swing.plaf.basic, + javax.swing.plaf.metal, + javax.swing.plaf.multi, + javax.swing.plaf.synth, + javax.swing.table, + javax.swing.text, + javax.swing.text.html, + javax.swing.text.html.parser, + javax.swing.text.rtf, + javax.swing.tree, + javax.swing.undo, + org.w3c.dom, + org.w3c.dom.bootstrap, + org.w3c.dom.events, + org.w3c.dom.ls, + org.xml.sax, + org.xml.sax.ext, + org.xml.sax.helpers, + javax.xml.parsers +Bundle-Version: 1.0.3 +Bundle-Activator: org.protege.editor.core.plugin.DefaultPluginActivator +Require-Bundle: org.eclipse.equinox.registry, + org.eclipse.equinox.common, + org.protege.editor.core.application, + org.protege.editor.owl, + org.semanticweb.owl.owlapi Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/plugin.xml =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/plugin.xml (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/plugin.xml 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,17 @@ +<?xml version="1.0" ?> + <plugin> + <extension id="org.dllearner.EvaluationPlugin" + point="org.protege.editor.core.application.ViewComponent"> + <label value="DL-Learner Evaluation"/> + <class value="org.dllearner.tools.evaluationplugin.EvaluationPlugin"/> + <headerColor value="@org.protege.classcolor"/> + <category value="@org.protege.classcategory"/> + </extension> + <extension id="DLLearnerEvaluationTab" point="org.protege.editor.core.application.WorkspaceTab"> + <label value="DL-Learner Evaluation Tab"/> + <class value="org.protege.editor.owl.ui.OWLWorkspaceViewsTab"/> + <index value="X"/> + <editorKitId value="OWLEditorKit"/> + <defaultViewConfigFileName value="viewconfig-evalTab.xml"/> + </extension> + </plugin> Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/viewconfig-evalTab.xml =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/viewconfig-evalTab.xml (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/META-INF/viewconfig-evalTab.xml 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<layout> + <VSNode splits="0.5712651314140688 0.42873486858593135"> + <CNode> + <Component label="DL-Learner Evaluation"> + <Property id="pluginId" value="org.coode.dlquery.org.dllearner.EvaluationPlugin"/> + </Component> + </CNode> + <HSNode splits="0.19774193548387098 0.17725806451612902 0.125"> + <CNode> + <Component label="Asserted class hierarchy"> + <Property id="pluginId" value="org.protege.editor.owl.OWLAssertedClassHierarchy"/> + </Component> + </CNode> + <CNode> + <Component label="Annotations"> + <Property id="pluginId" value="org.protege.editor.owl.OWLClassAnnotations"/> + </Component> + </CNode> + <CNode> + <Component label="Description"> + <Property id="pluginId" value="org.protege.editor.owl.OWLClassDescription"/> + </Component> + </CNode> + </HSNode> + </VSNode> +</layout> Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonEditor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonEditor.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonEditor.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,37 @@ +package org.dllearner.tools.evaluationplugin; + +import java.awt.Color; +import java.awt.Component; + +import javax.swing.AbstractCellEditor; +import javax.swing.JRadioButton; +import javax.swing.JTable; +import javax.swing.SwingConstants; +import javax.swing.table.TableCellEditor; + +public class RadioButtonEditor extends AbstractCellEditor implements TableCellEditor { + /** + * + */ + private static final long serialVersionUID = 1124942535574963403L; + + private JRadioButton button; + + public RadioButtonEditor(){ + button = new JRadioButton(); + button.setHorizontalAlignment(SwingConstants.CENTER); + button.setBackground(Color.WHITE); + } + @Override + public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { + button.setSelected((Boolean)value); + return button; + } + + + + @Override + public Object getCellEditorValue() { + return button.isSelected(); + } +} Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonRenderer.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/RadioButtonRenderer.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,25 @@ +package org.dllearner.tools.evaluationplugin; + +import java.awt.Color; +import java.awt.Component; + +import javax.swing.JRadioButton; +import javax.swing.JTable; +import javax.swing.SwingConstants; +import javax.swing.table.TableCellRenderer; + +public class RadioButtonRenderer extends JRadioButton implements TableCellRenderer { + /** + * + */ + private static final long serialVersionUID = -688293293192402900L; + + + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, + int row, int column) { + setSelected((Boolean)value); + setHorizontalAlignment(SwingConstants.CENTER); + setBackground(Color.WHITE); + return this; + } +} Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalCaption.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalCaption.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalCaption.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,45 @@ +package org.dllearner.tools.evaluationplugin; + +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.image.BufferedImage; + +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JComponent; + +public class VerticalCaption { + + static Icon getVerticalCaption (JComponent component, String caption, boolean clockwise) { + Font f = component.getFont (); + FontMetrics fm = component.getFontMetrics (f); + int captionHeight = fm.getHeight (); + int captionWidth = fm.stringWidth (caption); + BufferedImage bi = new BufferedImage (captionHeight + 4, + captionWidth + 4, BufferedImage.TYPE_INT_ARGB); + Graphics2D g = (Graphics2D) bi.getGraphics (); + + g.setColor (new Color (0, 0, 0, 0)); // transparent + g.fillRect (0, 0, bi.getWidth (), bi.getHeight ()); + + g.setColor (component.getForeground ()); + g.setFont (f); + g.setRenderingHint (RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + + if (clockwise) { + g.rotate (Math.PI / 2); + } else { + g.rotate (- Math.PI / 2); + g.translate (-bi.getHeight (), bi.getWidth ()); + } + g.drawString (caption, 2, -6); + + Icon icon = new ImageIcon (bi); + return icon; + } +} + Added: trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalHeaderRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalHeaderRenderer.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/evaluationplugin/VerticalHeaderRenderer.java 2010-02-12 22:53:03 UTC (rev 2022) @@ -0,0 +1,32 @@ +package org.dllearner.tools.evaluationplugin; + +import java.awt.Component; + +import javax.swing.Icon; +import javax.swing.JLabel; +import javax.swing.JTable; +import javax.swing.SwingConstants; +import javax.swing.border.BevelBorder; +import javax.swing.table.DefaultTableCellRenderer; + +public class VerticalHeaderRenderer extends DefaultTableCellRenderer { + + /** + * + */ + private static final long serialVersionUID = -877134005972107198L; + + @Override + public Component getTableCellRendererComponent (JTable table, + Object value, boolean isSelected, boolean hasFocus, + int row, int column) { + + JLabel label = new JLabel (); + Icon icon = VerticalCaption.getVerticalCaption (label, value.toString (), false); + label.setIcon (icon); + label.setHorizontalAlignment (SwingConstants.CENTER); + label.setBorder (new BevelBorder (BevelBorder.RAISED)); + return label; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2010-02-13 14:43:32
|
Revision: 2029 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2029&view=rev Author: kurzum Date: 2010-02-13 14:43:17 +0000 (Sat, 13 Feb 2010) Log Message: ----------- added hasValue support to SPARQLDescriptionConverter added a logger.trace output to RhoDRDown Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java trunk/src/dl-learner/org/dllearner/refinementoperators/RhoDRDown.java trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/examples/tiger/ Property Changed: ---------------- trunk/ Property changes on: trunk ___________________________________________________________________ Modified: svn:ignore - .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling osmdata matching stanley dllearner.jar father.inp lgd.nt + .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling osmdata matching stanley dllearner.jar father.inp lgd.nt files Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java 2010-02-13 13:04:13 UTC (rev 2028) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertVisitor.java 2010-02-13 14:43:17 UTC (rev 2029) @@ -67,26 +67,27 @@ private static Logger logger = Logger.getLogger(ComponentManager.class); - private Stack<String> stack = new Stack<String>(); - private String query = ""; - private int currentObject = 0; - private int limit = 5; private boolean labels = false; private boolean distinct = false; private Map<String,String> classToSubclassesVirtuoso = null; + + private Stack<String> stack = new Stack<String>(); + private String query = ""; + private int currentObject = 0; private List<String> foundNamedClasses = new ArrayList<String>(); - public SparqlQueryDescriptionConvertVisitor() { - stack.push("subject"); - } - public void reset(){ currentObject = 0; stack = new Stack<String>(); stack.push("subject"); query = ""; + foundNamedClasses = new ArrayList<String>() ; } + + public SparqlQueryDescriptionConvertVisitor() { + stack.push("subject"); + } public String getSparqlQuery( String descriptionKBSyntax) throws ParseException { Description description = KBParser.parseConcept(descriptionKBSyntax); @@ -97,7 +98,7 @@ description.accept(this); expandSubclasses(); String ret = "SELECT "+distinct()+"?subject "+((labels)?"?label":"")+" { "+labels()+ query + " \n } " + limit(); - this.reset(); + reset(); return ret; } @@ -159,7 +160,6 @@ this.labels = labels; } - public void setDistinct(boolean distinct) { this.distinct = distinct; } @@ -402,15 +402,8 @@ * .DatatypeValueRestriction) */ public void visit(DatatypeValueRestriction description) { - String current = stack.peek(); - String property = description.getRestrictedPropertyExpression().toString(); - String value = description.getValue().toString(); - System.out.println("here"); - System.out.println(stack.peek()); - System.out.println(current); - System.out.println(property); - System.out.println(value); logger.trace("DatatypeValueRestriction"); + query += "\n?" + stack.peek() + " <" + description.getRestrictedPropertyExpression() + "> \""+description.getValue().getLiteral()+"\" "; } /* @@ -421,7 +414,6 @@ * .NamedClass) */ public void visit(NamedClass description) { - logger.trace("NamedClass"); query += "\n?" + stack.peek() + " a <" + description.getName() + "> "; foundNamedClasses.add(description.getName()); Modified: trunk/src/dl-learner/org/dllearner/refinementoperators/RhoDRDown.java =================================================================== --- trunk/src/dl-learner/org/dllearner/refinementoperators/RhoDRDown.java 2010-02-13 13:04:13 UTC (rev 2028) +++ trunk/src/dl-learner/org/dllearner/refinementoperators/RhoDRDown.java 2010-02-13 14:43:17 UTC (rev 2029) @@ -314,6 +314,7 @@ Set<Constant> frequentInds = new TreeSet<Constant>(); for(Constant i : dpMap.keySet()) { if(dpMap.get(i) >= frequencyThreshold) { + logger.trace("adding value "+i+", because "+dpMap.get(i) +">="+frequencyThreshold); frequentInds.add(i); } } Modified: trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java 2010-02-13 13:04:13 UTC (rev 2028) +++ trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java 2010-02-13 14:43:17 UTC (rev 2029) @@ -6,11 +6,18 @@ public int resultLimit = -1; + public int splits = 5; - public int initialsplits = 30; + public int initialsplits = 10; + public int iteration = 5; - public int iteration = 1; - public int maxExecutionTime = 3; + public boolean useStartClass = true; + public int noise = 5; + //sets ValueFrequency treshold and maxExecution time + public boolean adaptive = true; + public int maxExecutionTime = 40; + public int valueFrequencyThreshold = 3; + public boolean stopCondition(int iteration, Examples learn){ return (iteration<this.iteration); Modified: trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java 2010-02-13 13:04:13 UTC (rev 2028) +++ trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java 2010-02-13 14:43:17 UTC (rev 2029) @@ -34,8 +34,8 @@ import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; import org.dllearner.learningproblems.PosNegLPStandard; -import org.dllearner.parser.ParseException; import org.dllearner.reasoning.FastInstanceChecker; +import org.dllearner.refinementoperators.RhoDRDown; import org.dllearner.utilities.Helper; import org.dllearner.utilities.JamonMonitorLogger; import org.dllearner.utilities.examples.ExMakerFixedSize; @@ -68,7 +68,7 @@ - final static boolean debug = true; + final static boolean debug = false; //no randomization in examples final static boolean randomizedebug = !debug; @@ -77,10 +77,9 @@ Logger.getLogger(Cache.class).setLevel(Level.INFO); Logger.getLogger(ComponentPool.class).setLevel(Level.INFO); Logger.getLogger(ROLearner2.class).setLevel(Level.TRACE); + Logger.getLogger(RhoDRDown.class).setLevel(Level.TRACE); Logger.getLogger(SparqlQuery.class).setLevel(Level.INFO); - - try { sparqlEndpoint = new SparqlEndpoint(new URL(sparqlEndpointURL), new ArrayList<String>(Arrays .asList(new String[] { graph })), new ArrayList<String>()); @@ -93,16 +92,10 @@ SortedSet<String> positives; SortedSet<String> negatives; - if(debug) { - positives = read(test_has_pos);; - negatives = read(test_has_neg);; - }else{ -// positives = read(passiveWithZu); - positives = read(passiveNoZU); - negatives = read(active); - } +// positives = read(passiveWithZu); positives = read(passiveNoZU); negatives = read(active); + //removing overlap positives.removeAll(negatives); negatives.removeAll(positives); @@ -117,6 +110,7 @@ ExperimentConfig config = new ExperimentConfig(); firstContact( allExamples, config); + JamonMonitorLogger.writeHTMLReport("log/tiger.html"); //retrieved wird neues Example, als schnittmenge mit all //und den bisher gewaehlten //dann splits auswählen und @@ -241,7 +235,7 @@ FastInstanceChecker rc = ComponentFactory.getFastInstanceChecker(tmp); PosNegLPStandard lp = ComponentFactory .getPosNegLPStandard(rc, ex.getPosTrain(), ex.getNegTrain()); - LearningAlgorithm la = _getROLLearner(lp, rc, config ); + LearningAlgorithm la = _getROLLearner(lp, rc, config, ex); for (KnowledgeSource ks : tmp) { ks.init(); @@ -274,50 +268,46 @@ visit.setLimit(resultLimit); String sparqlQuery = ""; try { - logger.debug(PrefixMap.toKBSyntaxString(ed.getDescription())); -// sparqlQuery = visit.getSparqlQuery(ed.getDescription().toKBSyntaxString()); -// logger.debug(sparqlQuery); sparqlQuery = visit.getSparqlQuery(ed.getDescription()); - logger.debug(sparqlQuery); - if (true) { - System.exit(0); - } } catch (Exception e1) { e1.printStackTrace(); } - logger.debug(PrefixMap.toKBSyntaxString(ed.getDescription())); - sparqlQuery = " \n define input:inference \"" + rulegraph + "\" \n" + "" + sparqlQuery; logger.debug(sparqlQuery); Monitor m = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "sparqlquery").start(); result.addAll(sparqlTasks.queryAsSet(sparqlQuery, "subject")); logger.debug("query avg: " + ((double)m.getAvg() / (double)1000)+ " seconds (last: "+((double)m.getLastValue() / (double)1000)+")"); - if(debug && result.isEmpty()){ + if(result.isEmpty()){ + logger.error("sparql query returned no results "); + logger.error(sparqlQuery); System.exit(0); } return result; } - private static LearningAlgorithm _getROLLearner(LearningProblem lp, ReasonerComponent rc, ExperimentConfig config) + private static LearningAlgorithm _getROLLearner(LearningProblem lp, ReasonerComponent rc, ExperimentConfig config, Examples ex) throws Exception { + + int maxExecutionTime = config.maxExecutionTime; + int valueFrequencyThreshold = config.valueFrequencyThreshold; + if(config.adaptive){ + maxExecutionTime = 2 * ex.sizeOfTrainingSets(); + valueFrequencyThreshold = (int) Math.floor(0.8d*((double)ex.getPosTrain().size())); + + } + ROLComponent2 la = ComponentFactory.getROLComponent2(lp, rc); la.getConfigurator().setUseExistsConstructor(true); - // la.getConfigurator().setUseAllConstructor(true); - // la.getConfigurator().setUseCardinalityRestrictions(true); - // la.getConfigurator().setUseNegation(true); - // la.getConfigurator().setUseHasValueConstructor(true); - // la.getConfigurator().setValueFrequencyThreshold(10); - la.getConfigurator().setUseAllConstructor(false); la.getConfigurator().setUseCardinalityRestrictions(false); la.getConfigurator().setUseNegation(false); la.getConfigurator().setUseHasValueConstructor(false); la.getConfigurator().setUseDataHasValueConstructor(true); -// la.getConfigurator().setValueFrequencyThreshold(1); + la.getConfigurator().setValueFrequencyThreshold(valueFrequencyThreshold); la.getConfigurator().setIgnoredConcepts(new HashSet<String>(Arrays.asList(new String[]{ "http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag", @@ -326,13 +316,14 @@ }))); - la.getConfigurator().setNoisePercentage(0); + la.getConfigurator().setNoisePercentage(config.noise); la.getConfigurator().setTerminateOnNoiseReached(true); -// la.getConfigurator().setStartClass(Config.getConfig().prefix + "Sentence"); - la.getConfigurator().setMaxExecutionTimeInSeconds(config.maxExecutionTime); -// la.getConfigurator().setMinExecutionTimeInSeconds(20); - - // la.getConfigurator().setMinExecutionTimeInSeconds(100); + la.getConfigurator().setMaxExecutionTimeInSeconds(maxExecutionTime); + + if(config.useStartClass){ + la.getConfigurator().setStartClass(prefix + "Sentence"); + } + la.getConfigurator().setWriteSearchTree(false); la.getConfigurator().setSearchTreeFile("log/searchTree.txt"); la.getConfigurator().setReplaceSearchTree(false); Modified: trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java 2010-02-13 13:04:13 UTC (rev 2028) +++ trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java 2010-02-13 14:43:17 UTC (rev 2029) @@ -19,6 +19,7 @@ */ package org.dllearner.utilities; +import java.io.File; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -155,7 +156,13 @@ //System.out.println(m); } + public static void writeHTMLReport(String filename){ + File jamonlog = new File(filename); + Files.createFile(jamonlog, MonitorFactory.getReport()); + Files.appendFile(jamonlog, "<xmp>\n"+JamonMonitorLogger.getStringForAllSortedByLabel()); + } + } Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java 2010-02-13 13:04:13 UTC (rev 2028) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java 2010-02-13 14:43:17 UTC (rev 2029) @@ -120,8 +120,8 @@ @Override public String toString() { String ret = "Total: " + size(); - double posPercent = posTrain.size() / (double) posSize(); - double negPercent = negTrain.size() / (double) negSize(); + double posPercent = posTrain.size() / (double) sizeTotalOfPositives(); + double negPercent = negTrain.size() / (double) sizeTotalOfNegatives(); ret += "\nPositive: " + posTrain.size() + " | " + posTest.size() + " (" + DecimalFormat.getPercentInstance().format(posPercent) + ")"; ret += "\nNegative: " + negTrain.size() + " | " + negTest.size() + " (" @@ -171,13 +171,17 @@ public int size(){ return posTrain.size()+negTrain.size()+posTest.size()+negTest.size(); } - public int posSize(){ + public int sizeTotalOfPositives(){ return posTrain.size()+posTest.size(); } - public int negSize(){ + public int sizeTotalOfNegatives(){ return negTrain.size()+negTest.size(); } + public int sizeOfTrainingSets(){ + return posTrain.size()+negTrain.size(); + } + public SortedSet<String> getPositiveExamples() { SortedSet<String> total = new TreeSet<String>(); total.addAll(posTrain); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2010-02-14 14:21:34
|
Revision: 2036 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2036&view=rev Author: kurzum Date: 2010-02-14 14:21:27 +0000 (Sun, 14 Feb 2010) Log Message: ----------- iterative learning script Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java trunk/src/dl-learner/org/dllearner/scripts/tiger/LogHelper.java trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerCrossFolds.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerHelper.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExperimentCollector.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/scripts/tiger/GlobalTest.java Property Changed: ---------------- trunk/ Property changes on: trunk ___________________________________________________________________ Modified: svn:ignore - .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling osmdata matching stanley dllearner.jar father.inp lgd.nt files + .lastUsedExample .settings .project .classpath classes log cache cachePersistant reports results local rdbtoonto the_log.txt tmp fragmentOntology.owl output ling osmdata matching stanley dllearner.jar father.inp lgd.nt files errorDescription Modified: trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -1,27 +1,154 @@ package org.dllearner.scripts.tiger; +import java.util.SortedSet; + +import org.apache.log4j.Logger; +import org.dllearner.utilities.JamonMonitorLogger; import org.dllearner.utilities.examples.Examples; +import com.jamonapi.Monitor; + public class ExperimentConfig { + private static final Logger logger = Logger.getLogger(ExperimentConfig.class); + public String label = "unset"; public int resultLimit = -1; public int splits = 5; - public int initialsplits = 30; - public int iteration = 1; + public int initialsplits = 5; + private int iteration; public boolean useStartClass = true; public boolean searchTree = false; - public int noise = 0; + public int noise = 10; //sets ValueFrequency treshold and maxExecution time - public boolean adaptive = true; - public int maxExecutionTime = 40; - public int valueFrequencyThreshold = 3; + public boolean adaptMaxRuntime = true; + public int maxExecutionTime = 20; + public int factor = 2; + public boolean useDataHasValue = true; +// public int valueFrequencyThreshold = 3; + public final Monitor[] iterationPrecision; + public final Monitor[] iterationRecall; + public final Monitor[] iterationFmeasure; + public final Monitor[] iterationLearningTime; + public final Monitor[] iterationTotalTime; + private String highestPrecision = ""; + private String highestRecall = ""; + private String highestFMeasure = ""; - public boolean stopCondition(int iteration, Examples learn){ - return (iteration<this.iteration); + public ExperimentConfig(int iteration, String label){ + this.iteration = iteration; + this.label = label; + + iterationPrecision = new Monitor[this.iteration]; + iterationRecall = new Monitor[this.iteration]; + iterationFmeasure = new Monitor[this.iteration]; + iterationLearningTime = new Monitor[this.iteration]; + iterationTotalTime = new Monitor[this.iteration]; + for (int i = 0; i < iterationPrecision.length; i++) { + iterationPrecision[i] = JamonMonitorLogger.getStatisticMonitor(this.getClass(), label+"_prec_i"+i); + iterationRecall[i] = JamonMonitorLogger.getStatisticMonitor(this.getClass(), label+"_rec_i"+i); + iterationFmeasure[i] = JamonMonitorLogger.getStatisticMonitor(this.getClass(), label+"_fme_i"+i); + iterationLearningTime[i] = JamonMonitorLogger.getStatisticMonitor(this.getClass(), label+"_learning_i"+i); + iterationTotalTime[i] = JamonMonitorLogger.getStatisticMonitor(this.getClass(), label+"_total_i"+i); + } } + //reached iterations + //reached 100% + + public boolean stopCondition(int iteration, Examples learn, SortedSet<String> posAsPos, SortedSet<String> retrieved, Examples allExamples, String concept){ + if(iteration == 0){ + //skip first; + return true; + } + Monitor iterationTime = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "iterationTime"); + iterationTotalTime[iteration-1].add(iterationTime.getLastValue()); + Monitor learningTime = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "learningTime"); + iterationLearningTime[iteration-1].add(learningTime.getLastValue()); + logger.info("Testing stop condition (iter: "+iteration+" ) " ); + + double precision = TestIterativeLearning.precision(posAsPos.size(), retrieved.size()); + double recall = TestIterativeLearning.recall(posAsPos.size(),allExamples.getPosTest().size()); + double fmeasure = fmeasure( precision, recall); + iterationPrecision[iteration-1].add(precision); + iterationRecall[iteration-1].add(recall); + iterationFmeasure[iteration-1].add(fmeasure); + + if(higher(iterationPrecision, precision)){highestPrecision=concept;} + if(higher(iterationRecall, recall)){highestRecall=concept;} + if(higher(iterationFmeasure, fmeasure)){highestFMeasure=concept;} + + logger.info("F-Measure: "+TestIterativeLearning.df.format( fmeasure )); + + boolean condIter = (iteration<this.iteration); + boolean condPrec = fmeasure <=1.0d; + if(!condIter){ + logger.info("iterations reached, stopping"); + return false; + }else if(!condPrec){ + logger.info("fmeasure reached, stopping"); + return false; + }else{ + return true; + } + } + + public static double fmeasure(double precision, double recall){ + return (precision+recall == 0)?0.0d: (2*precision*recall)/(precision+recall); + } + + public boolean higher(Monitor[] a, double current){ + for (int i = 0; i < a.length; i++) { + if(current>a[i].getMax()){ + return true; + } + } + return false; + } + + @Override + public String toString(){ + + String pre = "\n*********\n"+label+"\n"; + pre +="highestPrecision: "+highestPrecision+"\n"; + pre +="highestRecall: "+highestRecall+"\n"; + pre +="highestFMeasure: "+highestFMeasure+"\n"; + + String precision = "Precision:\n"; + String hits = "hits:\n"; + String recall = "Recall:\n"; + String fmeasure = "F-Measure:\n"; + String learningtime = "learningtime:\n"; + String totaltime = "Totaltime:\n"; + + for (int i = 0; i < iterationPrecision.length; i++) { + precision+=iterationPrecision[i].getAvg()+"\n"; + hits+=iterationPrecision[i].getHits()+" | "; + recall+=iterationRecall[i].getAvg()+"\n"; + fmeasure+=iterationFmeasure[i].getAvg()+"\n"; + learningtime+=iterationLearningTime[i].getAvg()+"\n"; + totaltime+=iterationTotalTime[i].getAvg()+"\n"; + } + + return pre+precision+recall+fmeasure+hits+"\n"+learningtime+totaltime; + } +// public static double precision( int posAsPos, int retrieved){ +// double precision = ((double)posAsPos)/((double)retrieved); +// logger.info("Precision: "+df.format(precision)); +// return precision; +// } +// public static double recall( int posAsPos, int allPositives){ +// double recall = ((double)posAsPos)/((double)allPositives); +// +// logger.info("Recall: "+df.format(recall)); +// return recall; +// +// } + + + + } Deleted: trunk/src/dl-learner/org/dllearner/scripts/tiger/GlobalTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/tiger/GlobalTest.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/scripts/tiger/GlobalTest.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -1,407 +0,0 @@ -package org.dllearner.scripts.tiger; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.dllearner.algorithms.refinement2.ROLComponent2; -import org.dllearner.algorithms.refinement2.ROLearner2; -import org.dllearner.core.ComponentPool; -import org.dllearner.core.EvaluatedDescription; -import org.dllearner.core.KnowledgeSource; -import org.dllearner.core.LearningAlgorithm; -import org.dllearner.core.LearningProblem; -import org.dllearner.core.ReasonerComponent; -import org.dllearner.core.configurators.ComponentFactory; -import org.dllearner.core.owl.Description; -import org.dllearner.core.owl.Individual; -import org.dllearner.kb.OWLFile; -import org.dllearner.kb.sparql.Cache; -import org.dllearner.kb.sparql.SPARQLTasks; -import org.dllearner.kb.sparql.SparqlEndpoint; -import org.dllearner.kb.sparql.SparqlKnowledgeSource; -import org.dllearner.kb.sparql.SparqlQuery; -import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; -import org.dllearner.learningproblems.PosNegLPStandard; -import org.dllearner.reasoning.FastInstanceChecker; -import org.dllearner.refinementoperators.RhoDRDown; -import org.dllearner.utilities.Helper; -import org.dllearner.utilities.JamonMonitorLogger; -import org.dllearner.utilities.examples.ExMakerFixedSize; -import org.dllearner.utilities.examples.ExampleDataCollector; -import org.dllearner.utilities.examples.Examples; - -import com.jamonapi.Monitor; - -public class GlobalTest { - private static final Logger logger = Logger.getLogger(GlobalTest.class); - - static DecimalFormat df = new DecimalFormat("00.###%"); - - static String backgroundXML = "files/tiger.noSchema.noImports.rdf"; - static String propertiesXML = "files/propertiesOnly.rdf"; - static String sentenceXMLFolder = "files/tiger/"; - static String sentenceprefix = "http://nlp2rdf.org/ontology/s"; - static String prefix = "http://nlp2rdf.org/ontology/"; - - static String active = "files/active_all_sentenceNumbers.txt"; - static String passiveNoZU = "files/passive_noZuInf_sentenceNumbers.txt"; - static String passiveWithZu = "files/passive_zuInf_sentenceNumbers.txt"; - static String test_has_pos = "files/test_has_pos.txt"; - static String test_has_neg = "files/test_has_neg.txt"; - - static SparqlEndpoint sparqlEndpoint; - static SPARQLTasks sparqlTasks; - - static String sparqlEndpointURL = "http://db0.aksw.org:8893/sparql"; - static String graph = "http://nlp2rdf.org/tiger"; - static String rulegraph = "http://nlp2rdf.org/schema/rules1"; - - - - - - final static boolean debug = false; - //no randomization in examples - final static boolean randomizedebug = !debug; - - public static void main(String[] args) { - LogHelper.initLoggers(); - Logger.getLogger(Cache.class).setLevel(Level.INFO); - Logger.getLogger(ComponentPool.class).setLevel(Level.INFO); - Logger.getLogger(ROLearner2.class).setLevel(Level.TRACE); - Logger.getLogger(RhoDRDown.class).setLevel(Level.TRACE); - Logger.getLogger(SparqlQuery.class).setLevel(Level.INFO); - - try { - sparqlEndpoint = new SparqlEndpoint(new URL(sparqlEndpointURL), new ArrayList<String>(Arrays - .asList(new String[] { graph })), new ArrayList<String>()); - sparqlTasks = new SPARQLTasks(Cache.getDefaultCache(), sparqlEndpoint); - } catch (Exception e) { - e.printStackTrace(); - } - - Examples allExamples = new Examples(); - SortedSet<String> positives; - SortedSet<String> negatives; - -// positives = read(passiveWithZu); - positives = read(passiveNoZU); - negatives = read(active); - - //removing overlap - positives.removeAll(negatives); - negatives.removeAll(positives); - -// System.out.println(Helper.intersection(passiveZuInfSentences, activeSentences)); -// System.out.println(Helper.intersection(passiveZuInfSentences, passiveNoZuSentences)); -// System.out.println(Helper.intersection(activeSentences, passiveNoZuSentences)); - allExamples.addPosTrain(positives); - allExamples.addNegTrain(negatives); - - logger.debug("All examples \n"+allExamples); - - ExperimentConfig config = new ExperimentConfig(); - firstContact( allExamples, config); - JamonMonitorLogger.writeHTMLReport("log/tiger.html"); - //retrieved wird neues Example, als schnittmenge mit all - //und den bisher gewaehlten - //dann splits auswählen und - //pos und neg wieder hinzufuegen - - } - - public static void firstContact(Examples allExamples, ExperimentConfig config){ - ExMakerFixedSize fs = new ExMakerFixedSize(allExamples, randomizedebug); - Examples learn = fs.select(config.initialsplits, config.initialsplits); - logger.debug("Intial training set \n"+learn); -// System.out.println(learn.getPosTrain()); -// System.out.println(learn.getNegTrain()); -// if (true) { -// System.exit(0); -// } -// int size = 0; - for(int i = 0 ; config.stopCondition(i, learn) ;i++ ) { - /*LEARNING*/ - EvaluatedDescription ed = learn(learn, config); - - /*RETRIEVING*/ - SortedSet<String> retrieved = getSentences(ed, config.resultLimit); - logger.debug("Retrieved "+retrieved.size()+" sentences"); - - - /*MASHING*/ - //Menge aller positiven geschn. mit den gefundenen - SortedSet<String> posAsPos = Helper.intersection(retrieved, allExamples.getPosTrain()); - logger.debug("Number of retrieved positives: "+posAsPos.size()); - logger.debug("Number of total positives: "+allExamples.getPosTrain().size()); - results(posAsPos, retrieved, allExamples); - - //Menge aller positiven geschn. mit den gefundenen - SortedSet<String> negAsPos = Helper.intersection(retrieved, allExamples.getNegTrain()); - logger.debug("Number of retrieved negatives: "+negAsPos.size()); - logger.debug("Total: "+posAsPos.size()+" + "+negAsPos.size() +" = "+retrieved.size()); - -// if(retrieved.size()!=(posAsPos.size()+negAsPos.size())){ -// logger.warn("sets are wrong"); -// System.exit(0); -// } - - Examples newlyFound = new Examples(); - newlyFound.addPosTrain(Helper.intersection(retrieved, learn.getPosTest())); - newlyFound.addNegTrain(Helper.intersection(retrieved, learn.getNegTest())); - //validate here - - fs = new ExMakerFixedSize(newlyFound, randomizedebug); - newlyFound = fs.select(config.splits, config.splits); - - learn.addPosTrain(newlyFound.getPosTrain()); - learn.addNegTrain(newlyFound.getNegTrain()); - logger.debug("Next training set \n"+learn); -// size = learn.getPosTrain().size() + learn.getNegTrain().size(); - - } - - - - - - } - - private static void results(SortedSet<String> posAsPos, SortedSet<String> retrieved, Examples allExamples) { - double precision = precision( posAsPos.size(), retrieved.size()); - double recall = recall( posAsPos.size(),allExamples.getPosTrain().size()); - logger.info("F-Measure: "+df.format( (2*precision*recall)/(precision+recall)) ); - - } - - public static double precision( int posAsPos, int retrieved){ - double precision = ((double)posAsPos)/((double)retrieved); - logger.info("Precision: "+df.format(precision)); - return precision; - } - public static double recall( int posAsPos, int allPositives){ - double recall = ((double)posAsPos)/((double)allPositives); - - logger.info("Recall: "+df.format(recall)); - return recall; - - } - - private static Set<KnowledgeSource> _getOWL(Examples ex) throws Exception{ - Set<KnowledgeSource> tmp = new HashSet<KnowledgeSource>(); - List<URL> urls = new ArrayList<URL>(); - urls.addAll(ExampleDataCollector.convert(sentenceXMLFolder, ex.getPosTrain())); - urls.addAll(ExampleDataCollector.convert(sentenceXMLFolder, ex.getNegTrain())); - urls.add(new File(backgroundXML).toURI().toURL()); - - for (URL u : urls) { - OWLFile ks = ComponentFactory.getOWLFile(u); - tmp.add(ks); - } - return tmp; - } - @SuppressWarnings("unused") - private static Set<KnowledgeSource> _getSPARQL(Examples ex) throws Exception{ - Set<KnowledgeSource> tmp = new HashSet<KnowledgeSource>(); - - Set<String> examples = new TreeSet<String>(); - examples.addAll(ex.getPosTrain()); - examples.addAll(ex.getNegTrain()); - SparqlKnowledgeSource ks = ComponentFactory.getSparqlKnowledgeSource(new URL(sparqlEndpointURL), examples); - ks.getConfigurator().setUrl(new URL(sparqlEndpointURL)); - ks.getConfigurator().setDefaultGraphURIs(new HashSet<String>(Arrays.asList(new String[]{graph}))); - ks.getConfigurator().setInstances(examples); - ks.getConfigurator().setDissolveBlankNodes(false); - ks.getConfigurator().setRecursionDepth(2); - ks.getConfigurator().setDissolveBlankNodes(false); - ks.getConfigurator().setCloseAfterRecursion(true); - ks.getConfigurator().setGetAllSuperClasses(true); - ks.getConfigurator().setGetPropertyInformation(false); - ks.getConfigurator().setUseLits(true); -// ks.getConfigurator(). - OWLFile ks2 = ComponentFactory.getOWLFile(new File(propertiesXML).toURI().toURL()); - tmp.add(ks); - tmp.add(ks2); - - return tmp; - } - - //test if virtuoso is correct - public static void validate(Description d, Examples newlyFound){ - try { - ExMakerFixedSize fs = new ExMakerFixedSize(newlyFound); - Examples tmp = fs.select(100, 100); - FastInstanceChecker fc = _getFastInstanceChecker(tmp); - SortedSet<Individual> inds = fc.getIndividuals(d); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static FastInstanceChecker _getFastInstanceChecker(Examples ex)throws Exception{ - Set<KnowledgeSource> tmp = _getOWL(ex); -// Set<KnowledgeSource> tmp = _getSPARQL(ex); - - - FastInstanceChecker rc = ComponentFactory.getFastInstanceChecker(tmp); - for (KnowledgeSource ks : tmp) { - ks.init(); - } - rc.init(); - return rc; - } - - public static EvaluatedDescription learn(Examples ex, ExperimentConfig config) { - Monitor init = JamonMonitorLogger.getTimeMonitor(GlobalTest.class, "init").start(); - - EvaluatedDescription result = null; - - try { - FastInstanceChecker rc = _getFastInstanceChecker(ex); - PosNegLPStandard lp = ComponentFactory - .getPosNegLPStandard(rc, ex.getPosTrain(), ex.getNegTrain()); - LearningAlgorithm la = _getROLLearner(lp, rc, config, ex); - lp.init(); - la.init(); - init.stop(); - Monitor learning = JamonMonitorLogger.getTimeMonitor(GlobalTest.class, "learning") - .start(); - la.start(); - learning.stop(); - - result = la.getCurrentlyBestEvaluatedDescription(); - logger.debug(PrefixMap.toKBSyntaxString(result.getDescription())); - logger.debug(PrefixMap.toManchesterSyntaxString(result.getDescription())); - - } catch (Exception e) { - e.printStackTrace(); - System.exit(0); - } - return result; - } - - public static SortedSet<String> getSentences(EvaluatedDescription ed, int resultLimit) { - SortedSet<String> result = new TreeSet<String>(); - SparqlQueryDescriptionConvertVisitor visit = new SparqlQueryDescriptionConvertVisitor(); - visit.setDistinct(true); - visit.setLabels(false); - visit.setLimit(resultLimit); - String sparqlQuery = ""; - try { - sparqlQuery = visit.getSparqlQuery(ed.getDescription()); - } catch (Exception e1) { - e1.printStackTrace(); - } - logger.debug(PrefixMap.toKBSyntaxString(ed.getDescription())); - sparqlQuery = " \n define input:inference \"" + rulegraph + "\" \n" + "" + sparqlQuery; - logger.debug(sparqlQuery); - - Monitor m = JamonMonitorLogger.getTimeMonitor(GlobalTest.class, "sparqlquery").start(); - result.addAll(sparqlTasks.queryAsSet(sparqlQuery, "subject")); - m.stop(); - logger.debug("query avg: " + ((double)m.getAvg() / (double)1000)+ " seconds (last: "+((double)m.getLastValue() / (double)1000)+")"); - if(result.isEmpty()){ - - logger.error("sparql query returned no results "); - logger.error(sparqlQuery); - System.exit(0); - } - return result; - } - - private static LearningAlgorithm _getROLLearner(LearningProblem lp, ReasonerComponent rc, ExperimentConfig config, Examples ex) - throws Exception { - - int maxExecutionTime = config.maxExecutionTime; - int valueFrequencyThreshold = config.valueFrequencyThreshold; - if(config.adaptive){ - maxExecutionTime = 2 * ex.sizeOfTrainingSets(); - valueFrequencyThreshold = ex.getPosTrain().size(); -// valueFrequencyThreshold = (int) Math.floor(0.8d*((double)ex.getPosTrain().size())); - - } - - ROLComponent2 la = ComponentFactory.getROLComponent2(lp, rc); - la.getConfigurator().setUseExistsConstructor(true); - - la.getConfigurator().setUseAllConstructor(false); - la.getConfigurator().setUseCardinalityRestrictions(false); - la.getConfigurator().setUseNegation(false); - la.getConfigurator().setUseHasValueConstructor(false); - la.getConfigurator().setUseDataHasValueConstructor(true); - la.getConfigurator().setValueFrequencyThreshold(valueFrequencyThreshold); - - la.getConfigurator().setIgnoredConcepts(new HashSet<String>(Arrays.asList(new String[]{ - "http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag", - "http://nlp2rdf.org/ontology/comma_tag", - "http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#SentenceFinalPunctuation" - }))); - - - la.getConfigurator().setNoisePercentage(config.noise); - la.getConfigurator().setTerminateOnNoiseReached(true); - la.getConfigurator().setMaxExecutionTimeInSeconds(maxExecutionTime); - - if(config.useStartClass){ - la.getConfigurator().setStartClass(prefix + "Sentence"); - } - - la.getConfigurator().setWriteSearchTree(config.searchTree); - la.getConfigurator().setSearchTreeFile("log/searchTreeTiger.txt"); - la.getConfigurator().setReplaceSearchTree(true); - return la; - } - - public static SortedSet<String> read(String f) { - SortedSet<String> result = new TreeSet<String>(); - BufferedReader in = null; - try { - in = new BufferedReader(new InputStreamReader(new FileInputStream(f))); - - String line; - while ((line = in.readLine()) != null) { - try { - line = line.trim(); - Integer.parseInt(line); - if (!result.add(sentenceprefix + line)) { - logger.error("reading failed"); - System.exit(0); - } - } catch (Exception e) { - e.printStackTrace(); - System.exit(0); - } - } - - } catch (Exception e) { - e.printStackTrace(); - logger.error("Could not read examples from: " + f); - System.exit(0); - - } finally { - try { - in.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - logger.info("read " + result.size() + " lines from " + f); - - return result; - } - -} Modified: trunk/src/dl-learner/org/dllearner/scripts/tiger/LogHelper.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/tiger/LogHelper.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/scripts/tiger/LogHelper.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -26,7 +26,7 @@ Layout layout = new PatternLayout(); layout = new PatternLayout("%-5p [%C{1}]: %m%n"); ConsoleAppender consoleAppender = new ConsoleAppender(layout); -// consoleAppender.setThreshold(Level.DEBUG); + consoleAppender.setThreshold(Level.WARN); Layout layout2 = null; FileAppender fileAppenderNormal = null; Modified: trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -26,8 +26,6 @@ import org.dllearner.core.LearningProblem; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.configurators.ComponentFactory; -import org.dllearner.core.owl.Description; -import org.dllearner.core.owl.Individual; import org.dllearner.kb.OWLFile; import org.dllearner.kb.sparql.Cache; import org.dllearner.kb.sparql.SPARQLTasks; @@ -41,9 +39,12 @@ import org.dllearner.utilities.Files; import org.dllearner.utilities.Helper; import org.dllearner.utilities.JamonMonitorLogger; +import org.dllearner.utilities.examples.ExMakerCrossFolds; import org.dllearner.utilities.examples.ExMakerFixedSize; +import org.dllearner.utilities.examples.ExMakerRandomizer; import org.dllearner.utilities.examples.ExampleDataCollector; import org.dllearner.utilities.examples.Examples; +import org.dllearner.utilities.examples.ExperimentCollector; import com.jamonapi.Monitor; @@ -72,20 +73,22 @@ static String graph = "http://nlp2rdf.org/tiger"; static String rulegraph = "http://nlp2rdf.org/schema/rules1"; + public static DecimalFormat dftime = new DecimalFormat("#####.#"); - final static boolean debug = false; + static int iterations = 5; + static int folds = 6; + static int printSentences = 3; //no randomization in examples - final static boolean randomizedebug = !debug; public static void main(String[] args) { LogHelper.initLoggers(); Logger.getLogger(Cache.class).setLevel(Level.INFO); Logger.getLogger(ComponentPool.class).setLevel(Level.INFO); - Logger.getLogger(ROLearner2.class).setLevel(Level.TRACE); - Logger.getLogger(RhoDRDown.class).setLevel(Level.TRACE); + Logger.getLogger(ROLearner2.class).setLevel(Level.INFO); + Logger.getLogger(RhoDRDown.class).setLevel(Level.INFO); Logger.getLogger(SparqlQuery.class).setLevel(Level.INFO); try { @@ -96,96 +99,193 @@ e.printStackTrace(); } - Examples allExamples = new Examples(); - SortedSet<String> positives; - SortedSet<String> negatives; - -// positives = read(passiveWithZu); - positives = read(passiveNoZU); - negatives = read(active); +// boolean debug = true; +// if(debug){ +// folds = 1; +// iterations = 1; +// } - //removing overlap - positives.removeAll(negatives); - negatives.removeAll(positives); + passiveNoZU(); +// passiveWithZu(); -// System.out.println(Helper.intersection(passiveZuInfSentences, activeSentences)); -// System.out.println(Helper.intersection(passiveZuInfSentences, passiveNoZuSentences)); -// System.out.println(Helper.intersection(activeSentences, passiveNoZuSentences)); - allExamples.addPosTrain(positives); - allExamples.addNegTrain(negatives); + logger.warn("finished"); + JamonMonitorLogger.writeHTMLReport("log/tiger.html"); - logger.debug("All examples \n"+allExamples); + } + + public static void passiveNoZU(){ + ExperimentCollector eColl_passiveNoZU = new ExperimentCollector("passiveNoZU"); - ExperimentConfig config = new ExperimentConfig(); - firstContact( allExamples, config); - JamonMonitorLogger.writeHTMLReport("log/tiger.html"); - //retrieved wird neues Example, als schnittmenge mit all - //und den bisher gewaehlten - //dann splits auswählen und - //pos und neg wieder hinzufuegen + SortedSet<String> positives = read(passiveNoZU); + SortedSet<String> negatives = read(active); + + //removing overlap + positives.removeAll(negatives); + negatives.removeAll(positives); + + Examples allExamples = new Examples(); + allExamples.addPosTrain(positives); + allExamples.addNegTrain(negatives); + + logger.debug("All examples \n"+allExamples); + + List<Examples> folds = new ExMakerCrossFolds(allExamples).split(TestIterativeLearning.folds, 0.1d); +// ExMakerCrossFolds.printFolds(folds); + List<ExperimentConfig> configs = getConfigs(); + for (ExperimentConfig experimentConfig : configs) { + logger.warn("next: passiveNoZU."+experimentConfig.label); + int i = 1; + for (Examples examples : folds) { + + logger.warn("beginning fold: "+(i++)); + conductExperiment( examples, experimentConfig); + + } + eColl_passiveNoZU.addExperimentConfig(experimentConfig); + logger.info(experimentConfig); + } + eColl_passiveNoZU.write(iterations); + + } + + public static void passiveWithZu(){ + ExperimentCollector eColl_passiveWithZu = new ExperimentCollector("passiveWithZu"); + SortedSet<String> positives = read(passiveWithZu); + SortedSet<String> negatives = read(active); + + //removing overlap + positives.removeAll(negatives); + negatives.removeAll(positives); + + Examples allExamples = new Examples(); + allExamples.addPosTrain(positives); + allExamples.addNegTrain(negatives); + + logger.debug("All examples \n"+allExamples); + + List<Examples> runs = new ArrayList<Examples>(); + runs.add(new ExMakerRandomizer(allExamples).split(0.7d)); + runs.add(new ExMakerRandomizer(allExamples).split(0.7d)); + runs.add(new ExMakerRandomizer(allExamples).split(0.7d)); + runs.add(new ExMakerRandomizer(allExamples).split(0.7d)); + runs.add(new ExMakerRandomizer(allExamples).split(0.7d)); + List<ExperimentConfig> configs = getConfigs(); + for (ExperimentConfig experimentConfig : configs) { + logger.warn("next: passiveWithZu."+experimentConfig.label); + int i=1; + for (Examples examples : runs) { + logger.warn("beginning run: "+(i++)); + conductExperiment( examples, experimentConfig); + + } + eColl_passiveWithZu.addExperimentConfig(experimentConfig); + + logger.info(experimentConfig); + } + eColl_passiveWithZu.write(iterations); + } - public static void firstContact(Examples allExamples, ExperimentConfig config){ - ExMakerFixedSize fs = new ExMakerFixedSize(allExamples, randomizedebug); + public static List<ExperimentConfig> getConfigs(){ + + List<ExperimentConfig> l = new ArrayList<ExperimentConfig>(); + ExperimentConfig baseline = new ExperimentConfig(iterations, "baseline_5_5"); + + + ExperimentConfig reducedExamples = new ExperimentConfig(iterations, "reducedExamples_2_2"); + reducedExamples.initialsplits = 2; + reducedExamples.splits = 2; + + + ExperimentConfig fixRuntime = new ExperimentConfig(iterations, "fixRuntime_20s"); + fixRuntime.adaptMaxRuntime=false; + fixRuntime.maxExecutionTime = 20; + + + ExperimentConfig useLemma = new ExperimentConfig(iterations, "useLemma_false"); + useLemma.useDataHasValue=false; + + + l.add(baseline); +// l.add(reducedExamples); +// l.add(fixRuntime); +// l.add(useLemma); + + + return l; + } + + public static void conductExperiment(Examples allExamples, ExperimentConfig config){ + Examples tmp = new Examples(); + tmp.addPosTrain(allExamples.getPosTrain()); + tmp.addNegTrain(allExamples.getNegTrain()); + + ExMakerFixedSize fs = new ExMakerFixedSize(tmp); Examples learn = fs.select(config.initialsplits, config.initialsplits); - logger.debug("Intial training set \n"+learn); -// System.out.println(learn.getPosTrain()); -// System.out.println(learn.getNegTrain()); -// if (true) { -// System.exit(0); -// } -// int size = 0; - for(int i = 0 ; config.stopCondition(i, learn) ;i++ ) { + logger.debug("Total set \n"+allExamples); + logger.debug("Initial training set \n"+learn); + + SortedSet<String> posAsPos = new TreeSet<String>(); + SortedSet<String> retrieved = new TreeSet<String>(); + + String lastConcept=""; + + for(int i = 0 ; config.stopCondition(i, learn, posAsPos, retrieved, allExamples, lastConcept) ;i++ ) { + Monitor iterationTime = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "iterationTime").start(); /*LEARNING*/ EvaluatedDescription ed = learn(learn, config); + lastConcept = PrefixMap.toKBSyntaxString(ed.getDescription()); + logger.debug("USING CONCEPT: "+lastConcept); /*RETRIEVING*/ - SortedSet<String> retrieved = getSentences(ed, config.resultLimit, learn); + retrieved = getSentences(ed, config.resultLimit, learn); + //remove all that are not to be tested + retrieved = Helper.intersection(allExamples.getTestExamples(), retrieved ); logger.debug("Retrieved "+retrieved.size()+" sentences"); /*MASHING*/ //Menge aller positiven geschn. mit den gefundenen - SortedSet<String> posAsPos = Helper.intersection(retrieved, allExamples.getPosTrain()); + posAsPos = Helper.intersection(retrieved, allExamples.getPosTest()); logger.debug("Number of retrieved positives: "+posAsPos.size()); - logger.debug("Number of total positives: "+allExamples.getPosTrain().size()); + logger.debug("Number of total positives: "+allExamples.getPosTest().size()); results(posAsPos, retrieved, allExamples); //Menge aller positiven geschn. mit den gefundenen - SortedSet<String> negAsPos = Helper.intersection(retrieved, allExamples.getNegTrain()); + SortedSet<String> negAsPos = Helper.intersection(retrieved, allExamples.getNegTest()); logger.debug("Number of retrieved negatives: "+negAsPos.size()); + logger.debug("Number of total negatives: "+allExamples.getNegTest().size()); logger.debug("Total: "+posAsPos.size()+" + "+negAsPos.size() +" = "+retrieved.size()); - //not covered - -// if(retrieved.size()!=(posAsPos.size()+negAsPos.size())){ -// logger.warn("sets are wrong"); -// System.exit(0); -// } - Examples newlyFound = new Examples(); - SortedSet<String> discoveredPosInStore = Helper.intersection(retrieved, learn.getPosTest()); - SortedSet<String> misclassifiedNegInStore = Helper.intersection(retrieved, learn.getNegTest()); + SortedSet<String> discoveredPosInStore = Helper.intersection(retrieved, allExamples.getPosTest()); + SortedSet<String> misclassifiedNegInStore = Helper.intersection(retrieved, allExamples.getNegTest()); newlyFound.addPosTrain(discoveredPosInStore); newlyFound.addNegTrain(misclassifiedNegInStore); - int print = 5; - logger.info("Discovered "+discoveredPosInStore.size()+" positive sentences in store (printing "+print+"):"); - _getLabels(discoveredPosInStore, print); - logger.info("Misclassified "+misclassifiedNegInStore.size()+" negative sentences in store (printing "+print+"):"); - _getLabels(misclassifiedNegInStore, print); + + SortedSet<String> posAsNeg = Helper.difference(allExamples.getPositiveExamples(), retrieved); + logger.info("Discovered: "+discoveredPosInStore.size()+" positive sentences in store (printing "+printSentences+"):"); + _getLabels(discoveredPosInStore, printSentences); + logger.info("Misclassified: "+misclassifiedNegInStore.size()+" negative sentences in store (printing "+printSentences+"):"); + _getLabels(misclassifiedNegInStore, printSentences); + logger.info("Not found positives: "+posAsNeg.size()+" positive sentences in store (printing "+printSentences+"):"); + _getLabels(posAsNeg, printSentences); - fs = new ExMakerFixedSize(newlyFound, randomizedebug); + + fs = new ExMakerFixedSize(newlyFound); newlyFound = fs.select(config.splits, config.splits); learn.addPosTrain(newlyFound.getPosTrain()); learn.addNegTrain(newlyFound.getNegTrain()); logger.debug("Next training set \n"+learn); -// size = learn.getPosTrain().size() + learn.getNegTrain().size(); - + iterationTime.stop(); + Monitor learningTime = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "learningTime"); + logger.warn("finished iteration "+(i+1)+" needed on avg: "+dftime.format(iterationTime.getAvg())); + logger.warn("for learning: "+dftime.format(learningTime.getLastValue())+" avg: "+dftime.format(learningTime.getAvg())); } @@ -196,19 +296,19 @@ private static void results(SortedSet<String> posAsPos, SortedSet<String> retrieved, Examples allExamples) { double precision = precision( posAsPos.size(), retrieved.size()); - double recall = recall( posAsPos.size(),allExamples.getPosTrain().size()); - logger.info("F-Measure: "+df.format( (2*precision*recall)/(precision+recall)) ); + double recall = recall( posAsPos.size(),allExamples.getPosTest().size()); + double fmeasure = (2*precision*recall)/(precision+recall); + logger.info("F-Measure: "+df.format( fmeasure )); } public static double precision( int posAsPos, int retrieved){ - double precision = ((double)posAsPos)/((double)retrieved); + double precision = (retrieved==0)?0.0d:((double)posAsPos)/((double)retrieved); logger.info("Precision: "+df.format(precision)); return precision; } public static double recall( int posAsPos, int allPositives){ double recall = ((double)posAsPos)/((double)allPositives); - logger.info("Recall: "+df.format(recall)); return recall; @@ -221,7 +321,6 @@ urls.addAll(ExampleDataCollector.convert(sentenceXMLFolder, ex.getPosTrain())); urls.addAll(ExampleDataCollector.convert(sentenceXMLFolder, ex.getNegTrain())); - for (URL u : urls) { OWLFile ks = ComponentFactory.getOWLFile(u); tmp.add(ks); @@ -255,17 +354,17 @@ } //test if virtuoso is correct - public static void validate(Description d, Examples newlyFound){ - try { - ExMakerFixedSize fs = new ExMakerFixedSize(newlyFound); - Examples tmp = fs.select(100, 100); - FastInstanceChecker fc = _getFastInstanceChecker(tmp); - @SuppressWarnings("unused") - SortedSet<Individual> inds = fc.getIndividuals(d); - } catch (Exception e) { - e.printStackTrace(); - } - } +// public static void validate(Description d, Examples newlyFound){ +// try { +// ExMakerFixedSize fs = new ExMakerFixedSize(newlyFound); +// Examples tmp = fs.select(100, 100); +// FastInstanceChecker fc = _getFastInstanceChecker(tmp); +// @SuppressWarnings("unused") +// SortedSet<Individual> inds = fc.getIndividuals(d); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } public static FastInstanceChecker _getFastInstanceChecker(Examples ex)throws Exception{ Set<KnowledgeSource> tmp = _getOWL(ex); @@ -281,7 +380,8 @@ } public static EvaluatedDescription learn(Examples ex, ExperimentConfig config) { - Monitor init = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "init").start(); + Monitor initTimeKBandReasoner = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "initTimeKBandReasoner").start(); + EvaluatedDescription result = null; @@ -292,15 +392,14 @@ LearningAlgorithm la = _getROLLearner(lp, rc, config, ex); lp.init(); la.init(); - init.stop(); - Monitor learning = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "learning") - .start(); + initTimeKBandReasoner.stop(); + Monitor learningTime = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "learningTime").start(); la.start(); - learning.stop(); - + learningTime.stop(); + result = la.getCurrentlyBestEvaluatedDescription(); - logger.debug(PrefixMap.toKBSyntaxString(result.getDescription())); - logger.debug(PrefixMap.toManchesterSyntaxString(result.getDescription())); + logger.trace(PrefixMap.toKBSyntaxString(result.getDescription())); + logger.trace(PrefixMap.toManchesterSyntaxString(result.getDescription())); } catch (Exception e) { e.printStackTrace(); @@ -310,6 +409,7 @@ } public static SortedSet<String> getSentences(EvaluatedDescription ed, int resultLimit, Examples justforFindingTheBug) { + Monitor m = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "getSentences").start(); SortedSet<String> result = new TreeSet<String>(); SparqlQueryDescriptionConvertVisitor visit = new SparqlQueryDescriptionConvertVisitor(); visit.setDistinct(true); @@ -329,11 +429,11 @@ } catch (Exception e1) { e1.printStackTrace(); } - logger.debug("USING CONCEPT: "+PrefixMap.toKBSyntaxString(ed.getDescription())); + sparqlQueryGood = " \n define input:inference \"" + rulegraph + "\" \n" + "" + sparqlQueryGood; - logger.debug(sparqlQueryGood); + logger.trace(sparqlQueryGood); - Monitor m = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "sparqlquery").start(); + result.addAll(sparqlTasks.queryAsSet(sparqlQueryGood, "subject")); m.stop(); logger.debug("query avg: " + ((double)m.getAvg() / (double)1000)+ " seconds (last: "+((double)m.getLastValue() / (double)1000)+")"); @@ -347,6 +447,7 @@ } private static void _getLabels(SortedSet<String> sentenceURIs, int limit){ + Monitor m = JamonMonitorLogger.getTimeMonitor(TestIterativeLearning.class, "_getLabels").start(); int i = 0; for (String sentenceURI : sentenceURIs) { if(i>=limit){ @@ -355,6 +456,7 @@ i++; _getLabel(sentenceURI); } + m.stop(); } private static void _getLabel(String sentenceURI){ @@ -372,12 +474,10 @@ throws Exception { int maxExecutionTime = config.maxExecutionTime; - int valueFrequencyThreshold = config.valueFrequencyThreshold; - if(config.adaptive){ - maxExecutionTime = 2 * ex.sizeOfTrainingSets(); - valueFrequencyThreshold = ex.getPosTrain().size(); + int valueFrequencyThreshold = ex.getPosTrain().size(); + if(config.adaptMaxRuntime){ + maxExecutionTime = config.factor * ex.sizeOfTrainingSets(); // valueFrequencyThreshold = (int) Math.floor(0.8d*((double)ex.getPosTrain().size())); - } ROLComponent2 la = ComponentFactory.getROLComponent2(lp, rc); @@ -387,13 +487,14 @@ la.getConfigurator().setUseCardinalityRestrictions(false); la.getConfigurator().setUseNegation(false); la.getConfigurator().setUseHasValueConstructor(false); - la.getConfigurator().setUseDataHasValueConstructor(true); + la.getConfigurator().setUseDataHasValueConstructor(config.useDataHasValue); la.getConfigurator().setValueFrequencyThreshold(valueFrequencyThreshold); la.getConfigurator().setIgnoredConcepts(new HashSet<String>(Arrays.asList(new String[]{ "http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag", "http://nlp2rdf.org/ontology/comma_tag", - "http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#SentenceFinalPunctuation" + "http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#SentenceFinalPunctuation", + "http://nlp2rdf.org/ontology/generalsentenceinternalpunctuation_tag" }))); Modified: trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -57,12 +57,6 @@ l.add(monitor); } - - - /*for (String label : retMon) { - l.add(MonitorFactory.getTimeMonitor(label)); - }*/ - return l; } @@ -141,13 +135,19 @@ @SuppressWarnings("all") public static Monitor getTimeMonitor(Class clazz, String label) { - String labeltmp = getMonitorPrefix(clazz)+label; return MonitorFactory.getTimeMonitor(labeltmp); } @SuppressWarnings("all") + public static Monitor getStatisticMonitor(Class clazz, String label) { + String labeltmp = getMonitorPrefix(clazz)+label; + return MonitorFactory.getMonitor(label, "double"); + + } + + @SuppressWarnings("all") public static void increaseCount (Class clazz, String label) { // MonitorFactory.getMonitor(getMonitorPrefix(clazz)+label, "#").add(1.0); Monitor m = MonitorFactory.getMonitor(getMonitorPrefix(clazz)+label, "count"); Added: trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerCrossFolds.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerCrossFolds.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerCrossFolds.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -0,0 +1,106 @@ +package org.dllearner.utilities.examples; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; + +import org.apache.log4j.Logger; + +public class ExMakerCrossFolds { + @SuppressWarnings("unused") + private static Logger logger = Logger.getLogger(ExMakerCrossFolds.class); + + private final Examples examples; + + public static int minElementsPerFold = 6; + + public ExMakerCrossFolds(Examples examples){ + this.examples = examples; + } + + public static void main(String[] args) { + Examples ex = new Examples(); + + for (int i = 0; i < 30000; i++) { + ex.addPosTrain("p"+i); + ex.addNegTrain("n"+i); + } + long n = System.currentTimeMillis(); + System.out.println("initial size: "+ex.size()); + ExMakerCrossFolds r = new ExMakerCrossFolds(ex); + List<Examples> l = r.split(10, 0.9d); + printFolds(l ); + System.out.println(System.currentTimeMillis()-n); + + + } + public static void printFolds(List<Examples> l ){ + int i = 1; + int totalsize = 0; + StringBuffer b = new StringBuffer(); + b.append("Number of folds "+l.size()+"\n"); + for (Examples examples : l) { + b.append("Fold: "+(i++)+"\n"); + b.append(examples.toString()); + b.append("\n"); + + totalsize+=examples.size(); + } + b.append("total size: "+totalsize); + logger.info(b.toString()); + } + + + public List<Examples> split(int folds, double percentageOfTrainingSet){ + if( folds*minElementsPerFold > examples.sizeTotalOfPositives() + || folds*minElementsPerFold > examples.sizeTotalOfNegatives() + ){ + logger.error("Too many folds for, too few data. cant spread: "); + logger.error(examples.sizeTotalOfPositives()+" examples over "+folds+" folds OR"); + logger.error(examples.sizeTotalOfNegatives()+" examples over "+folds+" folds"); + logger.error("each fold must have more than "+minElementsPerFold+" elements"); + return null; + } + + List<Examples> ret = new ArrayList<Examples>(); + double foldPercentage = 1.0d/((double)folds); + int tenPercentPos = (int)Math.floor(((double)examples.sizeTotalOfPositives())*foldPercentage); + int tenPercentNeg = (int)Math.floor(((double)examples.sizeTotalOfNegatives())*foldPercentage); + + List<String> posRemaining = new ArrayList<String>(examples.getPositiveExamples()); + List<String> negRemaining = new ArrayList<String>(examples.getNegativeExamples()); + Collections.shuffle(posRemaining); + Collections.shuffle(negRemaining); + + + Examples tmp; + Examples oneFold; + for(int i = 0; i<folds;i++){ +// logger.trace("Foldprogess: "+i+" of "+folds); + SortedSet<String> newPos = new TreeSet<String>(); + SortedSet<String> newNeg = new TreeSet<String>(); + String one = ""; + + for(int a =0; a<tenPercentPos&& !posRemaining.isEmpty();a++){ + one = posRemaining.remove(posRemaining.size()-1); + newPos.add(one); + } + for(int a =0; a <tenPercentNeg&& !negRemaining.isEmpty() ; a++){ + one = negRemaining.remove(negRemaining.size()-1); + newNeg.add(one); + } + + tmp = new Examples(); + tmp.addPosTrain(newPos); + tmp.addNegTrain(newNeg); + + oneFold = new ExMakerRandomizer(tmp).split(percentageOfTrainingSet); + ret.add(oneFold); + + } + return ret; + } + +} Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -27,6 +27,7 @@ /** * used to randomize examples and split them into training and test sets + * gets a fixed number of examples * @author Sebastian Hellmann <hel...@in...> * */ @@ -73,7 +74,8 @@ /** * returns a new example object based on all Examples in the old set * picks a fixed number of examples, puts them into - * training sets rest to test set + * training sets, rest to test set + * based on all examples found in examples object * @param nrOfPos * @param nrOfNeg * @return Added: trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerHelper.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerHelper.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerHelper.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -0,0 +1,32 @@ +package org.dllearner.utilities.examples; + +import java.util.Collection; +import java.util.Random; + +public class ExMakerHelper { + + + /** + * bad performance don't use for large sets + * use collections.shuffle and remove last + * @param from + * @return + */ + public static String pickOneRandomly(Collection<String> from){ +// Monitor m = JamonMonitorLogger.getTimeMonitor(ExMakerHelper.class, "bad_performance").start(); + + if(from.isEmpty()){ + return null; + } + Random r = new Random(); + String[] array = from.toArray(new String[] {}); + + int index = Math.round((float)(array.length*r.nextFloat())); +// m.stop(); + try{ + return array[index]; + }catch (Exception e) { + return pickOneRandomly(from); + } + } +} Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -19,14 +19,15 @@ */ package org.dllearner.utilities.examples; -import java.util.Random; -import java.util.SortedSet; -import java.util.TreeSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import org.apache.log4j.Logger; /** * used to randomize examples and split them into training and test sets + * gets a percentage of the examples * @author Sebastian Hellmann <hel...@in...> * */ @@ -42,7 +43,7 @@ public static void main(String[] args) { Examples ex = new Examples(); - for (int i = 0; i < 20; i++) { + for (int i = 0; i < 1000; i++) { ex.addPosTrain("p"+i); ex.addNegTrain("n"+i); } @@ -53,56 +54,49 @@ } + public Examples split(double percentageOfTrainingSet){ -// System.out.println(GlobalConfig.trainingDataPercentage+""); - SortedSet<String> posTrain = new TreeSet<String>(); - SortedSet<String> negTrain = new TreeSet<String>(); + int sizeOfPosTrainingSet = (int)Math.floor(((double)examples.sizeTotalOfPositives())*percentageOfTrainingSet); + int sizeOfNegTrainingSet = (int)Math.floor(((double)examples.sizeTotalOfNegatives())*percentageOfTrainingSet); - SortedSet<String> posTest = new TreeSet<String>(); - SortedSet<String> negTest = new TreeSet<String>(); + List<String> posRemaining = new ArrayList<String>(examples.getPositiveExamples()); + List<String> negRemaining = new ArrayList<String>(examples.getNegativeExamples()); + Collections.shuffle(posRemaining); + Collections.shuffle(negRemaining); - SortedSet<String> posOld = new TreeSet<String>(); - SortedSet<String> negOld = new TreeSet<String>(); - posOld.addAll(examples.getPositiveExamples()); - negOld.addAll(examples.getNegativeExamples()); + List<String> newPos = new ArrayList<String>(); + List<String> newNeg = new ArrayList<String>(); - int posOldSize = posOld.size(); - int negOldSize = negOld.size(); - - while (!posOld.isEmpty() && (((double)posOld.size()/(double)posOldSize)) > percentageOfTrainingSet) { - String one = pickOneRandomly(posOld.toArray(new String[] {})); - posOld.remove(one); - posTest.add(one); + Examples ret = new Examples(); + String one; + while (posRemaining.size()>sizeOfPosTrainingSet){ + one = posRemaining.remove(posRemaining.size()-1); + newPos.add(one); + } - posTrain.addAll(posOld); - while (!negOld.isEmpty() && (((double)negOld.size()/(double)negOldSize)) > percentageOfTrainingSet) { - String one = pickOneRandomly(negOld.toArray(new String[] {})); - negOld.remove(one); - negTest.add(one); + ret.addPosTest(newPos); + ret.addPosTrain(posRemaining); + + while (negRemaining.size()>sizeOfNegTrainingSet){ + one = negRemaining.remove(negRemaining.size()-1); + newNeg.add(one); } - negTrain.addAll(negOld); + ret.addNegTest(newNeg); + ret.addNegTrain(negRemaining); - double posPercent = posTrain.size()/(double)posOldSize; - double negPercent = negTrain.size()/(double)negOldSize; + double posPercent = ret.getPosTrain().size()/(double)examples.getPositiveExamples().size(); + double negPercent = ret.getNegTrain().size()/(double)examples.getNegativeExamples().size(); // if there is more than a 10% error if(Math.abs(posPercent - percentageOfTrainingSet)>0.1d || Math.abs(negPercent - percentageOfTrainingSet)>0.1d ){ logger.info("repeating, unevenly matched"); return split(percentageOfTrainingSet); } - return new Examples(posTrain, negTrain, posTest, negTest); + return ret; } - public static String pickOneRandomly(String[] from){ - Random r = new Random(); - int index = Math.round((float)(from.length*r.nextFloat())); - try{ - return from[index]; - }catch (Exception e) { - return pickOneRandomly(from); - } - } + } Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java 2010-02-13 19:55:34 UTC (rev 2035) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -36,6 +36,10 @@ */ public class Examples { private static final Logger logger = Logger.getLogger(Examples.class); + public static DecimalFormat df1 = new DecimalFormat("00.#%"); + public static DecimalFormat df2 = new DecimalFormat("00.##%"); + public static DecimalFormat df3 = new DecimalFormat("00.###%"); + private DecimalFormat myDf = df2; // private final SortedSet<String> positiveExamples = new TreeSet<String>(); // private final SortedSet<String> negativeExamples = new TreeSet<String>(); @@ -124,9 +128,9 @@ double posPercent = posTrain.size() / (double) sizeTotalOfPositives(); double negPercent = negTrain.size() / (double) sizeTotalOfNegatives(); ret += "\nPositive: " + posTrain.size() + " | " + posTest.size() + " (" - + DecimalFormat.getPercentInstance().format(posPercent) + ")"; + + myDf.format(posPercent) + ")"; ret += "\nNegative: " + negTrain.size() + " | " + negTest.size() + " (" - + DecimalFormat.getPercentInstance().format(negPercent) + ")"; + + myDf.format(negPercent) + ")"; return ret; } @@ -189,7 +193,11 @@ return posTrain.size()+negTrain.size(); } + public int sizeOfTestSets(){ + return posTest.size()+negTest.size(); + } + public SortedSet<String> getPositiveExamples() { SortedSet<String> total = new TreeSet<String>(); total.addAll(posTrain); @@ -203,6 +211,13 @@ total.addAll(negTest); return total; } + + public SortedSet<String> getTestExamples() { + SortedSet<String> total = new TreeSet<String>(); + total.addAll(posTest); + total.addAll(negTest); + return total; + } public SortedSet<String> getPosTrain() { return posTrain; Added: trunk/src/dl-learner/org/dllearner/utilities/examples/ExperimentCollector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/ExperimentCollector.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/ExperimentCollector.java 2010-02-14 14:21:27 UTC (rev 2036) @@ -0,0 +1,103 @@ +package org.dllearner.utilities.examples; + +import java.io.File; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; + +import org.dllearner.scripts.tiger.ExperimentConfig; +import org.dllearner.utilities.Files; + +public class ExperimentCollector { + + public static String dir = "results/"; + public String details ; + public String totalGNU ; + public String totalLatex ; + public String timeGNU ; + public String timeLatex ; + + public static DecimalFormat df = new DecimalFormat(".####"); + public static DecimalFormat dfhuman = new DecimalFormat("##.##%"); + public static DecimalFormat dfRuntime = new DecimalFormat("####."); + List<ExperimentConfig> experimentConfigs = new ArrayList<ExperimentConfig>(); + + public ExperimentCollector(String filePrefix) { + details = dir + filePrefix + "_" + "details"; + totalGNU = dir + filePrefix + "_" + "totalGNU"; + totalLatex = dir + filePrefix + "_" + "totalLatex"; + timeGNU = dir + filePrefix + "_" + "timeGNU"; + timeLatex = dir + filePrefix + "_" + "timeLatex"; + } + + public void addExperimentConfig(ExperimentConfig experimentConfig) { + experimentConfigs.add(experimentConfig); + } + + public void write(int iterations) { + Files.appendFile(new File(details), ""); + Files.appendFile(new File(timeGNU), "\n***********\n\n"); + Files.appendFile(new File(timeLatex), "\n***********\n\n"); + Files.appendFile(new File(totalLatex), "\n***********\n\n"); + Files.appendFile(new File(totalGNU), "\n***********\n\n"); + String headerGNU = "\t"; + String headerLatex = "\t&\t"; + for (ExperimentConfig ec : experimentConfigs) { + headerGNU += ec.label + "\t"; + Files.appendFile(new File(details), ec.toString()); + } + for (int i = 0; i < iterations; i++) { + headerLatex += (i+1) + "\t&\t"; + } + + Files.appendFile(new File(totalGNU), headerGNU + "\n"); + Files.appendFile(new File(totalLatex), headerLatex + "\n"); + + for (int i = 0; i < iterations; i++) { + String fmeasureGNU = i + "\t"; + String learningTimeGNU = i + "\t"; + String totalTimeGNU = i + "\t"; + for (ExperimentConfig ec : experimentConfigs) { + fmeasureGNU += df.format(ec.iterationFmeasure[i].getAvg()) + "\t"; + learningTimeGNU+= df.format(ec.iterationLearningTime[i].getAvg())+"\t"; + totalTimeGNU+= df.format(ec.iterationTotalTime[i].getAvg())+"\t"; + } + Files.appendFile(new File(totalGNU), fmeasureGNU + "\n"); + Files.appendFile(new File(timeGNU), learningTimeGNU + "\n"); + Files.appendFile(new File(timeGNU), totalTimeGNU + "\n"); + } + + for (ExperimentConfig ec : experimentConfigs) { + String label = ec.label + "\t&\t"; + String learningTimeLatex = label+"learn"; + String totalTimeLatex = label+"total"; + String fmeasureLatex = label; + for (int i = 0; i < iterations; i++) { + learningTimeLatex += dfRuntime.format(ec.iterationLearningTime[i].getAvg()) + "\t&\t"; + totalTimeLatex += dfRuntime.format(ec.iterationTotalTime[i].getAvg()) + "\t&\t"; + fmeasureLatex += dfhuman.format(ec.iterationFmeasure[i].getAvg()) + "\t&\t"; + } + Files.appendFile(new File(timeLatex), learningTimeLatex + "\n"); + Files.appendFile(new File(timeLatex), totalTimeLatex + "\n"); + Files.appendFile(new File(timeLatex), "\n\n\n"); + Files.appendFile(new File(totalLatex), fmeasureLatex + "\n"); + + } + for (ExperimentConfig ec : experimentConfigs) { + String label = ec.label + "\t&\t"; + String learningTimeHuman = label+"learn"; + String totalTimeHuman = label+"total"; + String fmeasureHuman = label; + for (int i = 0; i < iterations; i++) { + learningTimeHuman += dfRuntime.format(ec.iterationLearningTime[i].getAvg()) +" ("+dfRuntime.format(ec.iterationLearningTime[i].getStdDev()) + ")\t&\t"; + totalTimeHuman += dfRuntime.format(ec.iterationTotalTime[i].getAvg()) +" ("+ dfRuntime.format(ec.iterationTotalTime[i].getStdDev())+ ")\t&\t"; + fmeasureHuman += dfhuman.format(ec.iterationFmeasure[i].getAvg()) +" ("+ dfhuman.format(ec.iterationFmeasure[i].getStdDev())+ ")\t&\t"; + } + Files.appendFile(new File(timeLatex), learningTimeHuman + "\n"); + Files.appendFile(new File(timeLatex), totalTimeHuman + "\n"); + Files.appendFile(new File(totalLatex), fmeasureHuman + "\n"); + } + + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2010-02-14 22:11:04
|
Revision: 2039 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2039&view=rev Author: kurzum Date: 2010-02-14 22:10:57 +0000 (Sun, 14 Feb 2010) Log Message: ----------- Test Cases for SPARQL conversion Problem (RDF Data following) Modified Paths: -------------- trunk/bin/dllearner trunk/bin/dllearner.bat trunk/bin/gui trunk/bin/gui.bat trunk/bin/quickstart trunk/bin/quickstart.bat trunk/bin/ws trunk/bin/ws.bat trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerCrossFolds.java trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExperimentCollector.java Added Paths: ----------- trunk/examples/testCaseSPARQLDescription/ trunk/examples/testCaseSPARQLDescription/1266166547500.conf trunk/examples/testCaseSPARQLDescription/1266166637085.conf trunk/examples/testCaseSPARQLDescription/tiger_trimmed_toPOS.rdf Modified: trunk/bin/dllearner =================================================================== --- trunk/bin/dllearner 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/dllearner 2010-02-14 22:10:57 UTC (rev 2039) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.Start $@ \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/rdbtoonto/commons-collections-3.2.jar:./lib/rdbtoonto/commons-configuration-1.4.jar:./lib/rdbtoonto/commons-lang-2.3.jar:./lib/rdbtoonto/converter.jar:./lib/rdbtoonto/mysql-connector-java-5.1.6-bin.jar:./lib/rdbtoonto/rdbtoonto.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.Start $@ \ No newline at end of file Modified: trunk/bin/dllearner.bat =================================================================== --- trunk/bin/dllearner.bat 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/dllearner.bat 2010-02-14 22:10:57 UTC (rev 2039) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.Start %* \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\rdbtoonto\commons-collections-3.2.jar;.\lib\rdbtoonto\commons-configuration-1.4.jar;.\lib\rdbtoonto\commons-lang-2.3.jar;.\lib\rdbtoonto\converter.jar;.\lib\rdbtoonto\mysql-connector-java-5.1.6-bin.jar;.\lib\rdbtoonto\rdbtoonto.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.Start %* \ No newline at end of file Modified: trunk/bin/gui =================================================================== --- trunk/bin/gui 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/gui 2010-02-14 22:10:57 UTC (rev 2039) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.gui.StartGUI $@ \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/rdbtoonto/commons-collections-3.2.jar:./lib/rdbtoonto/commons-configuration-1.4.jar:./lib/rdbtoonto/commons-lang-2.3.jar:./lib/rdbtoonto/converter.jar:./lib/rdbtoonto/mysql-connector-java-5.1.6-bin.jar:./lib/rdbtoonto/rdbtoonto.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.gui.StartGUI $@ \ No newline at end of file Modified: trunk/bin/gui.bat =================================================================== --- trunk/bin/gui.bat 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/gui.bat 2010-02-14 22:10:57 UTC (rev 2039) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.gui.StartGUI %* \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\rdbtoonto\commons-collections-3.2.jar;.\lib\rdbtoonto\commons-configuration-1.4.jar;.\lib\rdbtoonto\commons-lang-2.3.jar;.\lib\rdbtoonto\converter.jar;.\lib\rdbtoonto\mysql-connector-java-5.1.6-bin.jar;.\lib\rdbtoonto\rdbtoonto.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.gui.StartGUI %* \ No newline at end of file Modified: trunk/bin/quickstart =================================================================== --- trunk/bin/quickstart 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/quickstart 2010-02-14 22:10:57 UTC (rev 2039) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/rdbtoonto/commons-collections-3.2.jar:./lib/rdbtoonto/commons-configuration-1.4.jar:./lib/rdbtoonto/commons-lang-2.3.jar:./lib/rdbtoonto/converter.jar:./lib/rdbtoonto/mysql-connector-java-5.1.6-bin.jar:./lib/rdbtoonto/rdbtoonto.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file Modified: trunk/bin/quickstart.bat =================================================================== --- trunk/bin/quickstart.bat 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/quickstart.bat 2010-02-14 22:10:57 UTC (rev 2039) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\rdbtoonto\commons-collections-3.2.jar;.\lib\rdbtoonto\commons-configuration-1.4.jar;.\lib\rdbtoonto\commons-lang-2.3.jar;.\lib\rdbtoonto\converter.jar;.\lib\rdbtoonto\mysql-connector-java-5.1.6-bin.jar;.\lib\rdbtoonto\rdbtoonto.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.cli.QuickStart \ No newline at end of file Modified: trunk/bin/ws =================================================================== --- trunk/bin/ws 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/ws 2010-02-14 22:10:57 UTC (rev 2039) @@ -1,2 +1,2 @@ #!/bin/bash -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.server.DLLearnerWSStart $@ \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .:./lib/ant_latex.jar:./lib/db/mysql-connector-java-5.1.6-bin.jar:./lib/db/postgresql-8.4-701.jdbc4.jar:./lib/dig1.1-xmlbeans.jar:./lib/fact/FaCTpp-OWLAPI-v1.1.11.jar:./lib/ini4j-0.3.2.jar:./lib/jamon-2.7.jar:./lib/jena/antlr-2.7.5.jar:./lib/jena/arq.jar:./lib/jena/commons-logging-1.1.1.jar:./lib/jena/concurrent.jar:./lib/jena/icu4j_3_4.jar:./lib/jena/iri.jar:./lib/jena/jena.jar:./lib/jena/json.jar:./lib/jena/xercesImpl.jar:./lib/jopt-simple-3.1.jar:./lib/junit-4.4.jar:./lib/log4j.jar:./lib/ore-tool/BrowserLauncher2-all-1_3.jar:./lib/ore-tool/looks-2.3.0.jar:./lib/ore-tool/swingx-1.0.jar:./lib/owlapi/owlapi-bin.jar:./lib/owlapi/owlapiV3-bin.jar:./lib/pellet/aterm-java-1.6.jar:./lib/pellet/pellet-core.jar:./lib/pellet/pellet-datatypes.jar:./lib/pellet/pellet-el.jar:./lib/pellet/pellet-explanation.jar:./lib/pellet/pellet-modularity.jar:./lib/pellet/pellet-owlapi.jar:./lib/pellet/pellet-rules.jar:./lib/pellet/relaxngDatatype.jar:./lib/pellet/xsdlib.jar:./lib/protege/org.protege.editor.core.application.jar:./lib/protege/org.protege.editor.owl.jar:./lib/rdbtoonto/commons-collections-3.2.jar:./lib/rdbtoonto/commons-configuration-1.4.jar:./lib/rdbtoonto/commons-lang-2.3.jar:./lib/rdbtoonto/converter.jar:./lib/rdbtoonto/mysql-connector-java-5.1.6-bin.jar:./lib/rdbtoonto/rdbtoonto.jar:./lib/secondstring-20060615.jar:./lib/xbean.jar:./lib/dllearner.jar org.dllearner.server.DLLearnerWSStart $@ \ No newline at end of file Modified: trunk/bin/ws.bat =================================================================== --- trunk/bin/ws.bat 2010-02-14 14:34:27 UTC (rev 2038) +++ trunk/bin/ws.bat 2010-02-14 22:10:57 UTC (rev 2039) @@ -1 +1 @@ -java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.server.DLLearnerWSStart %* \ No newline at end of file +java -Xmx1024m -Djava.library.path=lib/fact/ -cp .;.\lib\ant_latex.jar;.\lib\db\mysql-connector-java-5.1.6-bin.jar;.\lib\db\postgresql-8.4-701.jdbc4.jar;.\lib\dig1.1-xmlbeans.jar;.\lib\fact\FaCTpp-OWLAPI-v1.1.11.jar;.\lib\ini4j-0.3.2.jar;.\lib\jamon-2.7.jar;.\lib\jena\antlr-2.7.5.jar;.\lib\jena\arq.jar;.\lib\jena\commons-logging-1.1.1.jar;.\lib\jena\concurrent.jar;.\lib\jena\icu4j_3_4.jar;.\lib\jena\iri.jar;.\lib\jena\jena.jar;.\lib\jena\json.jar;.\lib\jena\xercesImpl.jar;.\lib\jopt-simple-3.1.jar;.\lib\junit-4.4.jar;.\lib\log4j.jar;.\lib\ore-tool\BrowserLauncher2-all-1_3.jar;.\lib\ore-tool\looks-2.3.0.jar;.\lib\ore-tool\swingx-1.0.jar;.\lib\owlapi\owlapi-bin.jar;.\lib\owlapi\owlapiV3-bin.jar;.\lib\pellet\aterm-java-1.6.jar;.\lib\pellet\pellet-core.jar;.\lib\pellet\pellet-datatypes.jar;.\lib\pellet\pellet-el.jar;.\lib\pellet\pellet-explanation.jar;.\lib\pellet\pellet-modularity.jar;.\lib\pellet\pellet-owlapi.jar;.\lib\pellet\pellet-rules.jar;.\lib\pellet\relaxngDatatype.jar;.\lib\pellet\xsdlib.jar;.\lib\protege\org.protege.editor.core.application.jar;.\lib\protege\org.protege.editor.owl.jar;.\lib\rdbtoonto\commons-collections-3.2.jar;.\lib\rdbtoonto\commons-configuration-1.4.jar;.\lib\rdbtoonto\commons-lang-2.3.jar;.\lib\rdbtoonto\converter.jar;.\lib\rdbtoonto\mysql-connector-java-5.1.6-bin.jar;.\lib\rdbtoonto\rdbtoonto.jar;.\lib\secondstring-20060615.jar;.\lib\xbean.jar;.\lib\dllearner.jar org.dllearner.server.DLLearnerWSStart %* \ No newline at end of file Added: trunk/examples/testCaseSPARQLDescription/1266166547500.conf =================================================================== --- trunk/examples/testCaseSPARQLDescription/1266166547500.conf (rev 0) +++ trunk/examples/testCaseSPARQLDescription/1266166547500.conf 2010-02-14 22:10:57 UTC (rev 2039) @@ -0,0 +1,96 @@ +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1330"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1430"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs15769"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19571"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs20018"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs2134"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs23811"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs24345"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25161"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29437"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33590"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36798"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37782"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43333"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43655"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44147"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46747"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48054"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50146"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9128"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs10413"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs10715"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs11104"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1236"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1253"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs14738"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1914"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26290"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs28997"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs3529"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs35962"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36400"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs38900"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41529"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43624"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46234"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs8516"); +import("tiger_trimmed_toPOS.rdf"); + + + + ++"http://nlp2rdf.org/ontology/s1330" ++"http://nlp2rdf.org/ontology/s1430" ++"http://nlp2rdf.org/ontology/s15769" ++"http://nlp2rdf.org/ontology/s19571" ++"http://nlp2rdf.org/ontology/s20018" ++"http://nlp2rdf.org/ontology/s2134" ++"http://nlp2rdf.org/ontology/s23811" ++"http://nlp2rdf.org/ontology/s24345" ++"http://nlp2rdf.org/ontology/s25161" ++"http://nlp2rdf.org/ontology/s29437" ++"http://nlp2rdf.org/ontology/s33590" ++"http://nlp2rdf.org/ontology/s36798" ++"http://nlp2rdf.org/ontology/s37782" ++"http://nlp2rdf.org/ontology/s43333" ++"http://nlp2rdf.org/ontology/s43655" ++"http://nlp2rdf.org/ontology/s44147" ++"http://nlp2rdf.org/ontology/s46747" ++"http://nlp2rdf.org/ontology/s48054" ++"http://nlp2rdf.org/ontology/s50146" ++"http://nlp2rdf.org/ontology/s9128" +-"http://nlp2rdf.org/ontology/s10413" +-"http://nlp2rdf.org/ontology/s10715" +-"http://nlp2rdf.org/ontology/s11104" +-"http://nlp2rdf.org/ontology/s1236" +-"http://nlp2rdf.org/ontology/s1253" +-"http://nlp2rdf.org/ontology/s14738" +-"http://nlp2rdf.org/ontology/s1914" +-"http://nlp2rdf.org/ontology/s26290" +-"http://nlp2rdf.org/ontology/s28997" +-"http://nlp2rdf.org/ontology/s3529" +-"http://nlp2rdf.org/ontology/s35962" +-"http://nlp2rdf.org/ontology/s36400" +-"http://nlp2rdf.org/ontology/s38900" +-"http://nlp2rdf.org/ontology/s41529" +-"http://nlp2rdf.org/ontology/s43624" +-"http://nlp2rdf.org/ontology/s46234" +-"http://nlp2rdf.org/ontology/s8516" + + +/** +Good: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object1. +?object1 <http://nlp2rdf.org/ontology/hasLemma> "werden" + } +Bad: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> + } **/ Added: trunk/examples/testCaseSPARQLDescription/1266166637085.conf =================================================================== --- trunk/examples/testCaseSPARQLDescription/1266166637085.conf (rev 0) +++ trunk/examples/testCaseSPARQLDescription/1266166637085.conf 2010-02-14 22:10:57 UTC (rev 2039) @@ -0,0 +1,83 @@ +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19832"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25995"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26867"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29778"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31487"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31994"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33592"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36480"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36630"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37885"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39264"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs42257"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs47997"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48009"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5887"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs16108"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27089"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27289"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29380"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29695"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs357"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36940"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39598"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41799"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44644"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs4624"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46785"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50417"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5948"); +import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9348"); +import("tiger_trimmed_toPOS.rdf"); + + + + + ++"http://nlp2rdf.org/ontology/s19832" ++"http://nlp2rdf.org/ontology/s25995" ++"http://nlp2rdf.org/ontology/s26867" ++"http://nlp2rdf.org/ontology/s29778" ++"http://nlp2rdf.org/ontology/s31487" ++"http://nlp2rdf.org/ontology/s31994" ++"http://nlp2rdf.org/ontology/s33592" ++"http://nlp2rdf.org/ontology/s36480" ++"http://nlp2rdf.org/ontology/s36630" ++"http://nlp2rdf.org/ontology/s37885" ++"http://nlp2rdf.org/ontology/s39264" ++"http://nlp2rdf.org/ontology/s42257" ++"http://nlp2rdf.org/ontology/s47997" ++"http://nlp2rdf.org/ontology/s48009" ++"http://nlp2rdf.org/ontology/s5887" +-"http://nlp2rdf.org/ontology/s16108" +-"http://nlp2rdf.org/ontology/s27089" +-"http://nlp2rdf.org/ontology/s27289" +-"http://nlp2rdf.org/ontology/s29380" +-"http://nlp2rdf.org/ontology/s29695" +-"http://nlp2rdf.org/ontology/s357" +-"http://nlp2rdf.org/ontology/s36940" +-"http://nlp2rdf.org/ontology/s39598" +-"http://nlp2rdf.org/ontology/s41799" +-"http://nlp2rdf.org/ontology/s44644" +-"http://nlp2rdf.org/ontology/s4624" +-"http://nlp2rdf.org/ontology/s46785" +-"http://nlp2rdf.org/ontology/s50417" +-"http://nlp2rdf.org/ontology/s5948" +-"http://nlp2rdf.org/ontology/s9348" + + +/** +Good: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object1. +?object1 <http://nlp2rdf.org/ontology/hasLemma> "werden" + } +Bad: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> + } **/ Added: trunk/examples/testCaseSPARQLDescription/tiger_trimmed_toPOS.rdf =================================================================== --- trunk/examples/testCaseSPARQLDescription/tiger_trimmed_toPOS.rdf (rev 0) +++ trunk/examples/testCaseSPARQLDescription/tiger_trimmed_toPOS.rdf 2010-02-14 22:10:57 UTC (rev 2039) @@ -0,0 +1,1448 @@ +<?xml version="1.0"?> + + +<!DOCTYPE rdf:RDF [ + <!ENTITY ontology "http://nlp2rdf.org/ontology/" > + <!ENTITY owl "http://www.w3.org/2002/07/owl#" > + <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > + <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" > + <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > + <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > + <!ENTITY j.2 "http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#" > + <!ENTITY j.0 "http://nachhalt.sfb632.uni-potsdam.de/owl/system.owl#" > + <!ENTITY j.1 "http://nachhalt.sfb632.uni-potsdam.de/owl/tiger-syntax.owl#" > +]> + + +<rdf:RDF xmlns="file:/home/sebastian/work/workspace/DL-Learner-SVN/files/tiger_trimmed_toPOS.rdf#" + xml:base="file:/home/sebastian/work/workspace/DL-Learner-SVN/files/tiger_trimmed_toPOS.rdf" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:j.1="http://nachhalt.sfb632.uni-potsdam.de/owl/tiger-syntax.owl#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:j.0="http://nachhalt.sfb632.uni-potsdam.de/owl/system.owl#" + xmlns:j.2="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#" + xmlns:ontology="http://nlp2rdf.org/ontology/"> + <owl:Ontology rdf:about=""/> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Object Properties + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + <!-- http://nlp2rdf.org/ontology/belongsToSentence --> + + <owl:ObjectProperty rdf:about="&ontology;belongsToSentence"/> + + + + <!-- http://nlp2rdf.org/ontology/firstToken --> + + <owl:ObjectProperty rdf:about="&ontology;firstToken"/> + + + + <!-- http://nlp2rdf.org/ontology/hasSentence --> + + <owl:ObjectProperty rdf:about="&ontology;hasSentence"/> + + + + <!-- http://nlp2rdf.org/ontology/hasToken --> + + <owl:ObjectProperty rdf:about="&ontology;hasToken"> + <owl:inverseOf rdf:resource="&ontology;belongsToSentence"/> + </owl:ObjectProperty> + + + + <!-- http://nlp2rdf.org/ontology/nextToken --> + + <owl:ObjectProperty rdf:about="&ontology;nextToken"> + <rdf:type rdf:resource="&owl;TransitiveProperty"/> + <owl:inverseOf rdf:resource="&ontology;previousToken"/> + </owl:ObjectProperty> + + + + <!-- http://nlp2rdf.org/ontology/previousToken --> + + <owl:ObjectProperty rdf:about="&ontology;previousToken"> + <rdf:type rdf:resource="&owl;TransitiveProperty"/> + </owl:ObjectProperty> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Data properties + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + <!-- http://nlp2rdf.org/ontology/hasLemma --> + + <owl:DatatypeProperty rdf:about="&ontology;hasLemma"/> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Classes + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Additional --> + + <owl:Class rdf:about="&j.2;Additional"> + <rdfs:subClassOf rdf:resource="&j.2;Tag"/> + <rdfs:comment rdf:datatype="&xsd;string" + >The Additional contains "non linguistic tags".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Adjective --> + + <owl:Class rdf:about="&j.2;Adjective"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are adjectives. + +An adjective is a word that is a member of a part of speech whose prototypical members designate properties and, less prototypically, states. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_ServletAdjektiv 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Adposition --> + + <owl:Class rdf:about="&j.2;Adposition"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are adpositions. + +An adposition is a more or less grammaticalized relator word that takes a noun phrase as a complement and forms with it an adposition phrase. Its meaning is the grammatical or semantic relation between the dependent noun phrase and whatever the adposition phrase depends on. For example: +“to“ in „He went to the races“ or „with“ in „He promised to help with whatever was the matter“. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Adposition 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Adverb --> + + <owl:Class rdf:about="&j.2;Adverb"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are adverbs e.g. "schon", "bald", "doch". + +An adverb is a word that is a member of a part of speech whose prototypical members (by themselves) modify clauses. +In many descriptions, any word with lexical content (i.e., other than grammatical particles) that isn’t clearly a noun, a verb or an adjective is put into the class of adverb. Semantically, forms that have been called adverbs cover an extremely wide range of concepts, hence they cannot be identified in terms of time-stability or any other well-defined semantic parameter. +The unit modified by an adverb is typically a clause, but may be any other category (sentence, verb phrase, verb, nominal, adjective, adverb). +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Adverb 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AdverbialInterrogativeRelativePronoun --> + + <owl:Class rdf:about="&j.2;AdverbialInterrogativeRelativePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;InterrogativePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are adverbial interrogative relative pronouns, e.g. "warum", "wo", "wann", "worueber", "wobei".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AnsweringParticle --> + + <owl:Class rdf:about="&j.2;AnsweringParticle"> + <rdfs:subClassOf rdf:resource="&j.2;Particle"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are the answering particles, e.g. "ja", "nein", "danke", "bitte".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Article --> + + <owl:Class rdf:about="&j.2;Article"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are definite e.g. in German "der", "die", "das" or indefinite articles e.g. in German "ein", "eine". + +An article is a highly grammaticalized determiner that expresses one or a few of the basic determinations (definite/indefinite, generic/specific, given/new). +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Artikel 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveAdjective --> + + <owl:Class rdf:about="&j.2;AttributiveAdjective"> + <rdfs:subClassOf rdf:resource="&j.2;Adjective"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These can be e.g. the attributive adjectives ("[das] grosse [Haus]"), attributive used present participles ("[das] lachende [Kind]"), attributive used past participles ("[der] gesuchte [Dieb]"), ordinal numerals ("[die] zweite [Besetzung]") or fractional numerals ("[ein] dreiviertel [Liter Milch]").</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveDemonstrativePronoun --> + + <owl:Class rdf:about="&j.2;AttributiveDemonstrativePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;DemonstrativePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are attributive demonstrative pronouns, e.g. "jener [Mensch]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveIndefinitePronounWithDeterminer --> + + <owl:Class rdf:about="&j.2;AttributiveIndefinitePronounWithDeterminer"> + <rdfs:subClassOf rdf:resource="&j.2;IndefinitePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >0LD +attributive indefinite pronouns, with determiner + +PIDAT is a contextual variant of PIAT, accordingly, both are grouped + together in TigerSTTS, but in ELM-DE, too: + http://www.ilc.cnr.it/EAGLES96/TT-rep/node49.html#SECTION000103000000000000000 +=> here, too</rdfs:comment> + <rdfs:comment rdf:datatype="&xsd;string" + >These are attributive indefinite pronouns with a determiner, e.g. "[ein] wenig [Wasser]", "[die] beiden [Brueder]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveIndefinitePronounWithoutDeterminer --> + + <owl:Class rdf:about="&j.2;AttributiveIndefinitePronounWithoutDeterminer"> + <rdfs:subClassOf rdf:resource="&j.2;IndefinitePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are attributive indefinite pronouns without a determiner, e.g. "kein [Mensch]", "irgendein [Glas]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveInterrogativePronoun --> + + <owl:Class rdf:about="&j.2;AttributiveInterrogativePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;InterrogativePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are attributive interrogative pronouns, e.g. "welche [Farbe]", "wessen [Hut]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributivePossessivePronoun --> + + <owl:Class rdf:about="&j.2;AttributivePossessivePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;PossessivePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are attributive possessive pronouns, e.g. "mein [Buch]", "deine [Mutter]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveRelativePronoun --> + + <owl:Class rdf:about="&j.2;AttributiveRelativePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;RelativePronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are attributive relative pronouns, e.g. "[der Mann, ] dessen [Hund]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AuxiliaryImperative --> + + <owl:Class rdf:about="&j.2;AuxiliaryImperative"> + <rdfs:subClassOf rdf:resource="&j.2;AuxilliaryVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the imperative of an auxiliary verb, e.g. "sei [ruhig !]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AuxiliaryInfinitive --> + + <owl:Class rdf:about="&j.2;AuxiliaryInfinitive"> + <rdfs:subClassOf rdf:resource="&j.2;AuxilliaryVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the infinitive form of an auxiliary verb, e.g. "werden", "sein".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AuxiliaryPastParticiple --> + + <owl:Class rdf:about="&j.2;AuxiliaryPastParticiple"> + <rdfs:subClassOf rdf:resource="&j.2;AuxilliaryVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the past participle of an auxiliary verb, e.g. "gewesen".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AuxilliaryVerb --> + + <owl:Class rdf:about="&j.2;AuxilliaryVerb"> + <rdfs:subClassOf rdf:resource="&j.2;Verb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >The German verbs "haben", "sein" und "werden" will be marked as auxiliary verbs, whether they are used as main verbs or as auxiliary verbs within a sentence. + +An auxiliary is a strongly grammaticalized word - typically a verb -such that +- it is the structural head of a periphrastic construction in which a non-finite form of a full lexical verb is the primary dependent, +- that construction is part of the conjugation paradigm for full verbs of the language. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Auxiliar 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#CardinalNumber --> + + <owl:Class rdf:about="&j.2;CardinalNumber"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are cardinal numerals, e.g. "zwei Manner, im Jahre 1994". + +A cardinal numeral is a numeral - most typically a noun 2 - which designates the cardinality of a set; i.e. it is used for counting and for expressing how many objects are referred to. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Kardinalzahlwort 14.05.07) + + +Only for cardinal numerals there is a special word class defined within the numerals. +Ordinal numerals, multiplicatives and fraction numbers are counted according to her distribution to the adjectives or nouns.</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#CircumpositionRightPart --> + + <owl:Class rdf:about="&j.2;CircumpositionRightPart"> + <rdfs:subClassOf rdf:resource="&j.2;Adposition"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the right part of a circumposition e.g. "von jetzt an". +The equalization with circumposition could be incomplete, because another definition of circumposition would describe that both parts belong together.</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Comma --> + + <owl:Class rdf:about="&j.2;Comma"> + <rdfs:subClassOf rdf:resource="&j.2;SentenceInternalPunctuation"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the sentence punctuation mark for the comma "$,".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#CommonNoun --> + + <owl:Class rdf:about="&j.2;CommonNoun"> + <rdfs:subClassOf rdf:resource="&j.2;Noun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >0LD +appellative "Tisch, Herr, das Reisen" + NN<ABK abbreviation + NN<ADJ substantiative adjective "der Alte" + NN<CARD cardinal numeral "Hunderte" + NN<FRACT fraction number "ein Viertel" + NN<ORD ordinal numeral "ein Vierter" + NN<VINF substantiative infinitive "das Spielen" + NN<VPART</rdfs:comment> + <rdfs:comment rdf:datatype="&xsd;string" + >These can be e.g. common nouns ("Tisch", "Herr", "Haus"), sizes ("Kilo", "Meter"), substantiative adjectives ("der Alte"), substantiative infinitives ("[das] Spielen", "[das] Reisen"), substantiative participles ("[das] Gewuenschte", "[das] Gesuchte",), ordinal numerals ([der] Vierte).</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#ComparisonParticle --> + + <owl:Class rdf:about="&j.2;ComparisonParticle"> + <rdfs:subClassOf rdf:resource="&j.2;Conjunction"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are the comparison particles "als" and "wie". They have only a mid-sentence use that means they are not followed by an Nominal Phrase or an Adverbial Phrase.</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Conjunction --> + + <owl:Class rdf:about="&j.2;Conjunction"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are conjunctions. + +A conjunction is a word that syntactically links words or larger constituents and expresses a relationship between them. +Prototypically, a conjunction links two clauses. However, coordinative conjunctions may also link subclausal expressions. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Konjunktion 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#CoordinatingConjunction --> + + <owl:Class rdf:about="&j.2;CoordinatingConjunction"> + <rdfs:subClassOf rdf:resource="&j.2;Conjunction"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are co-ordinating (adjacent arranged) conjunctions "und", "oder", "aber". + +A coordinative conjunction is a conjunction that coordinates two expressions. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet koordinierende Konjunktion 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#DemonstrativePronoun --> + + <owl:Class rdf:about="&j.2;DemonstrativePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;Pronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are demonstrative pronouns. + +This is a pronoun with deictic function. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Demonstrativpronomen 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#FiniteAuxiliaryVerb --> + + <owl:Class rdf:about="&j.2;FiniteAuxiliaryVerb"> + <rdfs:subClassOf rdf:resource="&j.2;AuxilliaryVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are finite auxiliary verbs, e.g. "[du] bist", "[wir] werden".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#FiniteModalVerb --> + + <owl:Class rdf:about="&j.2;FiniteModalVerb"> + <rdfs:subClassOf rdf:resource="&j.2;ModalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is a finite modal verb e.g. in German"duerfen".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#FiniteVerb --> + + <owl:Class rdf:about="&j.2;FiniteVerb"> + <rdfs:subClassOf rdf:resource="&j.2;LexicalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are finite verbs, e.g. "[du] gehst", "[wir] kommen [an]".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#ForeignMaterial --> + + <owl:Class rdf:about="&j.2;ForeignMaterial"> + <rdfs:subClassOf rdf:resource="&j.2;Additional"/> + <rdfs:comment rdf:datatype="&xsd;string" + >0LD +The tag FM describes foreign material, e.g. "Er hat das mit _A big sh _ ubersetzt". Foreign words are written in capital letters if they were written with small letters The tag FM describes foreign material, e.g. "Er hat das mit _A big sh _ ubersetzt" + to distinguish from NN: + german flexion => NN + Foreign words are written in capital letters if they are written with a small letter in the original language and belong to the NN category. + z.B. die Contras</rdfs:comment> + <rdfs:comment rdf:datatype="&xsd;string" + >The tag FM describes foreign material, e.g. "Er hat das mit _A big sh _ ubersetzt". Foreign words are written in capital letters if they were written in the original language with small letters and belong to the category of nouns (NN) , e.g. "die Contras".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Imperative --> + + <owl:Class rdf:about="&j.2;Imperative"> + <rdfs:subClassOf rdf:resource="&j.2;LexicalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the imperative , e.g. "komm !".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#IndefinitePronoun --> + + <owl:Class rdf:about="&j.2;IndefinitePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;Pronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are indefinite pronouns. + +This is a pronoun which belongs to a class whose members make indefinite reference. An indefinite pronoun may be specific or nonspecific. In the latter case, it may be generic. +An indefinite pronoun may be negative. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Indefinitpronomen 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Infinitive --> + + <owl:Class rdf:about="&j.2;Infinitive"> + <rdfs:subClassOf rdf:resource="&j.2;LexicalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are infinitives, e.g. "gehen", "ankommen".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#InfinitiveWithZu --> + + <owl:Class rdf:about="&j.2;InfinitiveWithZu"> + <rdfs:subClassOf rdf:resource="&j.2;LexicalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are infinitives with "zu", e.g. "anzukommen", "loszulassen".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Interjection --> + + <owl:Class rdf:about="&j.2;Interjection"> + <rdfs:subClassOf rdf:resource="&j.2;POS"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are interjections, e.g. "mhm", "ach", "tja". + +An interjection is a particle 1 which may represent a sentence. Thus, it is not syntactically related to other sentence components. +An interjection is typically brief, used most often as an exclamation or as part of an exclamation and typically expresses an emotional reaction, often with respect to an accompanying sentence. It may include a combination of sounds not otherwise found it the language. +Examples in English are „psst!“, „ugh!“, „well, well!“, „yes“, „no“. +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Interjektion 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#InterrogativePronoun --> + + <owl:Class rdf:about="&j.2;InterrogativePronoun"> + <rdfs:subClassOf rdf:resource="&j.2;Pronoun"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are interrogative pronouns. + +An interrogative pronoun is a pronoun which is an interrogative pro-form. +Examples in English are "who", "which". +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Fragepronomen 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Letter --> + + <owl:Class rdf:about="&j.2;Letter"> + <rdfs:subClassOf rdf:resource="&j.2;Additional"/> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#LexicalVerb --> + + <owl:Class rdf:about="&j.2;LexicalVerb"> + <rdfs:subClassOf rdf:resource="&j.2;Verb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >These are all other (i.e. neither VA nor VM) verb forms which can be classified as VV.</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#ModalInfinitive --> + + <owl:Class rdf:about="&j.2;ModalInfinitive"> + <rdfs:subClassOf rdf:resource="&j.2;ModalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the infinitive form of a modal verb, e.g. in German "wollen".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#ModalPastParticiple --> + + <owl:Class rdf:about="&j.2;ModalPastParticiple"> + <rdfs:subClassOf rdf:resource="&j.2;ModalVerb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >This is the past participle of a modal verb , e.g. in German "[er hat] gekonnt".</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#ModalVerb --> + + <owl:Class rdf:about="&j.2;ModalVerb"> + <rdfs:subClassOf rdf:resource="&j.2;Verb"/> + <rdfs:comment rdf:datatype="&xsd;string" + >0LD +These are modal verbs which include "koennen, muessen, wollen, duerfen, moegen" also the conjunctive forms of "moegen, moechten" and "sollen". + +no category for modal verbs, thus not distinguished from non-aux verbs</rdfs:comment> + <rdfs:comment rdf:datatype="&xsd;string" + >These are modal verbs which include the German words "koennen", "muessen", "wollen", "duerfen", "moegen" also the conjunctive forms of "moegen", "moechten" and "sollen". + +A modal verb is a grammatical verb expressing modality. +Modal verbs express both subjective and objective modality. +An Example in English is "must". +(http://www.uni-erfurt.de/sprachwissenschaft/proxy.php?port=8080&file=lido/servlet/Lido_Servlet Modalverb 14.05.07)</rdfs:comment> + </owl:Class> + + + + <!-- http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#NegationParticle --> + + <owl:Class rdf:about="&j.2;NegationParticle"> + ... [truncated message content] |
From: <lor...@us...> - 2010-02-15 16:14:56
|
Revision: 2040 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2040&view=rev Author: lorenz_b Date: 2010-02-15 16:14:49 +0000 (Mon, 15 Feb 2010) Log Message: ----------- Updated Pellet libs to version 2.0.1 . Added new datatype 'date' to enum Datatype and considered converting in OWLAPIConverter. Modified Paths: -------------- trunk/lib/pellet/pellet-core.jar trunk/lib/pellet/pellet-datatypes.jar trunk/lib/pellet/pellet-el.jar trunk/lib/pellet/pellet-explanation.jar trunk/lib/pellet/pellet-modularity.jar trunk/lib/pellet/pellet-owlapi.jar trunk/lib/pellet/pellet-rules.jar trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java trunk/src/dl-learner/org/dllearner/utilities/owl/OWLAPIConverter.java Added Paths: ----------- trunk/lib/owlapi/pellet-owlapiv3.jar Removed Paths: ------------- trunk/lib/owlapi/owlapiV3-bin.jar Deleted: trunk/lib/owlapi/owlapiV3-bin.jar =================================================================== (Binary files differ) Added: trunk/lib/owlapi/pellet-owlapiv3.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/owlapi/pellet-owlapiv3.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/lib/pellet/pellet-core.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-datatypes.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-el.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-explanation.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-modularity.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-owlapi.jar =================================================================== (Binary files differ) Modified: trunk/lib/pellet/pellet-rules.jar =================================================================== (Binary files differ) Modified: trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java 2010-02-14 22:10:57 UTC (rev 2039) +++ trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java 2010-02-15 16:14:49 UTC (rev 2040) @@ -31,7 +31,8 @@ DOUBLE ("http://www.w3.org/2001/XMLSchema#double"), INT ("http://www.w3.org/2001/XMLSchema#int"), BOOLEAN ("http://www.w3.org/2001/XMLSchema#boolean"), - STRING ("http://www.w3.org/2001/XMLSchema#string"); + STRING ("http://www.w3.org/2001/XMLSchema#string"), + DATE ("http://www.w3.org/2001/XMLSchema#date"); private URI uri; Modified: trunk/src/dl-learner/org/dllearner/utilities/owl/OWLAPIConverter.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/owl/OWLAPIConverter.java 2010-02-14 22:10:57 UTC (rev 2039) +++ trunk/src/dl-learner/org/dllearner/utilities/owl/OWLAPIConverter.java 2010-02-15 16:14:49 UTC (rev 2040) @@ -50,6 +50,7 @@ import org.semanticweb.owl.model.OWLObjectProperty; import org.semanticweb.owl.model.OWLTypedConstant; import org.semanticweb.owl.model.OWLUntypedConstant; +import org.semanticweb.owl.vocab.OWLDatatypeVocabulary; /** * A collection of methods for exchanging objects between OWL API and @@ -177,7 +178,9 @@ return Datatype.INT; else if(uri.equals(Datatype.STRING.getURI())) return Datatype.STRING; - + else if(uri.equals(Datatype.DATE.getURI())){ + return Datatype.DATE; + } throw new Error("Unsupported datatype " + dataType + ". Please inform a DL-Learner developer to add it."); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2010-02-15 18:40:57
|
Revision: 2041 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2041&view=rev Author: kurzum Date: 2010-02-15 18:40:49 +0000 (Mon, 15 Feb 2010) Log Message: ----------- some movements updated library for experiments Modified Paths: -------------- trunk/examples/testCaseSPARQLDescription/1266166637085.conf trunk/lib/pellet/pellet-core.jar trunk/lib/pellet/pellet-datatypes.jar trunk/lib/pellet/pellet-el.jar trunk/lib/pellet/pellet-explanation.jar trunk/lib/pellet/pellet-modularity.jar trunk/lib/pellet/pellet-owlapi.jar trunk/lib/pellet/pellet-rules.jar trunk/src/dl-learner/org/dllearner/scripts/tiger/LogHelper.java trunk/src/dl-learner/org/dllearner/scripts/tiger/TestIterativeLearning.java trunk/src/dl-learner/org/dllearner/utilities/JamonMonitorLogger.java Added Paths: ----------- trunk/examples/testCaseSPARQLDescription/1266166547500.conf.missingData trunk/examples/testCaseSPARQLDescription/combined.conf trunk/examples/testCaseSPARQLDescription/combined.rdf trunk/examples/testCaseSPARQLDescription/tiger/ trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs16108 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19832 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25995 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26867 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27089 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27289 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29380 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29695 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29778 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31487 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31994 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33592 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs357 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36480 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36630 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36940 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37885 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39264 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39598 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41799 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs42257 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44644 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs4624 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46785 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs47997 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48009 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50417 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5887 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5948 trunk/examples/testCaseSPARQLDescription/tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9348 trunk/lib/owlapi/owlapiV3-bin.jar trunk/src/dl-learner/org/dllearner/utilities/experiments/ trunk/src/dl-learner/org/dllearner/utilities/experiments/ExMakerCrossFolds.java trunk/src/dl-learner/org/dllearner/utilities/experiments/ExMakerFixedSize.java trunk/src/dl-learner/org/dllearner/utilities/experiments/ExMakerRandomizer.java trunk/src/dl-learner/org/dllearner/utilities/experiments/Examples.java trunk/src/dl-learner/org/dllearner/utilities/experiments/ExperimentCollector.java trunk/src/dl-learner/org/dllearner/utilities/experiments/ExperimentConfig.java trunk/src/dl-learner/org/dllearner/utilities/experiments/IteratedConfig.java trunk/src/dl-learner/org/dllearner/utilities/experiments/Jamon.java trunk/src/dl-learner/org/dllearner/utilities/experiments/MyMonKey.java trunk/src/dl-learner/org/dllearner/utilities/experiments/Table.java trunk/src/dl-learner/org/dllearner/utilities/experiments/TableRowColumn.java trunk/src/dl-learner/org/dllearner/utilities/experiments/Units.java Removed Paths: ------------- trunk/examples/testCaseSPARQLDescription/1266166547500.conf trunk/lib/owlapi/pellet-owlapiv3.jar trunk/src/dl-learner/org/dllearner/scripts/tiger/ExperimentConfig.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerCrossFolds.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerFixedSize.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExMakerRandomizer.java trunk/src/dl-learner/org/dllearner/utilities/examples/Examples.java trunk/src/dl-learner/org/dllearner/utilities/examples/ExperimentCollector.java Property Changed: ---------------- trunk/lib/ Deleted: trunk/examples/testCaseSPARQLDescription/1266166547500.conf =================================================================== --- trunk/examples/testCaseSPARQLDescription/1266166547500.conf 2010-02-15 16:14:49 UTC (rev 2040) +++ trunk/examples/testCaseSPARQLDescription/1266166547500.conf 2010-02-15 18:40:49 UTC (rev 2041) @@ -1,96 +0,0 @@ -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1330"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1430"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs15769"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19571"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs20018"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs2134"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs23811"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs24345"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25161"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29437"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33590"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36798"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37782"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43333"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43655"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44147"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46747"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48054"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50146"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9128"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs10413"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs10715"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs11104"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1236"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1253"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs14738"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1914"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26290"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs28997"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs3529"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs35962"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36400"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs38900"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41529"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43624"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46234"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs8516"); -import("tiger_trimmed_toPOS.rdf"); - - - - -+"http://nlp2rdf.org/ontology/s1330" -+"http://nlp2rdf.org/ontology/s1430" -+"http://nlp2rdf.org/ontology/s15769" -+"http://nlp2rdf.org/ontology/s19571" -+"http://nlp2rdf.org/ontology/s20018" -+"http://nlp2rdf.org/ontology/s2134" -+"http://nlp2rdf.org/ontology/s23811" -+"http://nlp2rdf.org/ontology/s24345" -+"http://nlp2rdf.org/ontology/s25161" -+"http://nlp2rdf.org/ontology/s29437" -+"http://nlp2rdf.org/ontology/s33590" -+"http://nlp2rdf.org/ontology/s36798" -+"http://nlp2rdf.org/ontology/s37782" -+"http://nlp2rdf.org/ontology/s43333" -+"http://nlp2rdf.org/ontology/s43655" -+"http://nlp2rdf.org/ontology/s44147" -+"http://nlp2rdf.org/ontology/s46747" -+"http://nlp2rdf.org/ontology/s48054" -+"http://nlp2rdf.org/ontology/s50146" -+"http://nlp2rdf.org/ontology/s9128" --"http://nlp2rdf.org/ontology/s10413" --"http://nlp2rdf.org/ontology/s10715" --"http://nlp2rdf.org/ontology/s11104" --"http://nlp2rdf.org/ontology/s1236" --"http://nlp2rdf.org/ontology/s1253" --"http://nlp2rdf.org/ontology/s14738" --"http://nlp2rdf.org/ontology/s1914" --"http://nlp2rdf.org/ontology/s26290" --"http://nlp2rdf.org/ontology/s28997" --"http://nlp2rdf.org/ontology/s3529" --"http://nlp2rdf.org/ontology/s35962" --"http://nlp2rdf.org/ontology/s36400" --"http://nlp2rdf.org/ontology/s38900" --"http://nlp2rdf.org/ontology/s41529" --"http://nlp2rdf.org/ontology/s43624" --"http://nlp2rdf.org/ontology/s46234" --"http://nlp2rdf.org/ontology/s8516" - - -/** -Good: -SELECT DISTINCT ?subject { -?subject a <http://nlp2rdf.org/ontology/Sentence> . -?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. -?object0 a <http://nlp2rdf.org/ontology/VVPP> . -?subject <http://nlp2rdf.org/ontology/hasToken> ?object1. -?object1 <http://nlp2rdf.org/ontology/hasLemma> "werden" - } -Bad: -SELECT DISTINCT ?subject { -?subject a <http://nlp2rdf.org/ontology/Sentence> . -?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. -?object0 a <http://nlp2rdf.org/ontology/VVPP> - } **/ Added: trunk/examples/testCaseSPARQLDescription/1266166547500.conf.missingData =================================================================== --- trunk/examples/testCaseSPARQLDescription/1266166547500.conf.missingData (rev 0) +++ trunk/examples/testCaseSPARQLDescription/1266166547500.conf.missingData 2010-02-15 18:40:49 UTC (rev 2041) @@ -0,0 +1,96 @@ +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1330"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1430"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs15769"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19571"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs20018"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs2134"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs23811"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs24345"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25161"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29437"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33590"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36798"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37782"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43333"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43655"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44147"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46747"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48054"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50146"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9128"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs10413"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs10715"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs11104"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1236"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1253"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs14738"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs1914"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26290"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs28997"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs3529"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs35962"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36400"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs38900"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41529"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs43624"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46234"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs8516"); +import("tiger_trimmed_toPOS.rdf"); + + + + ++"http://nlp2rdf.org/ontology/s1330" ++"http://nlp2rdf.org/ontology/s1430" ++"http://nlp2rdf.org/ontology/s15769" ++"http://nlp2rdf.org/ontology/s19571" ++"http://nlp2rdf.org/ontology/s20018" ++"http://nlp2rdf.org/ontology/s2134" ++"http://nlp2rdf.org/ontology/s23811" ++"http://nlp2rdf.org/ontology/s24345" ++"http://nlp2rdf.org/ontology/s25161" ++"http://nlp2rdf.org/ontology/s29437" ++"http://nlp2rdf.org/ontology/s33590" ++"http://nlp2rdf.org/ontology/s36798" ++"http://nlp2rdf.org/ontology/s37782" ++"http://nlp2rdf.org/ontology/s43333" ++"http://nlp2rdf.org/ontology/s43655" ++"http://nlp2rdf.org/ontology/s44147" ++"http://nlp2rdf.org/ontology/s46747" ++"http://nlp2rdf.org/ontology/s48054" ++"http://nlp2rdf.org/ontology/s50146" ++"http://nlp2rdf.org/ontology/s9128" +-"http://nlp2rdf.org/ontology/s10413" +-"http://nlp2rdf.org/ontology/s10715" +-"http://nlp2rdf.org/ontology/s11104" +-"http://nlp2rdf.org/ontology/s1236" +-"http://nlp2rdf.org/ontology/s1253" +-"http://nlp2rdf.org/ontology/s14738" +-"http://nlp2rdf.org/ontology/s1914" +-"http://nlp2rdf.org/ontology/s26290" +-"http://nlp2rdf.org/ontology/s28997" +-"http://nlp2rdf.org/ontology/s3529" +-"http://nlp2rdf.org/ontology/s35962" +-"http://nlp2rdf.org/ontology/s36400" +-"http://nlp2rdf.org/ontology/s38900" +-"http://nlp2rdf.org/ontology/s41529" +-"http://nlp2rdf.org/ontology/s43624" +-"http://nlp2rdf.org/ontology/s46234" +-"http://nlp2rdf.org/ontology/s8516" + + +/** +Good: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object1. +?object1 <http://nlp2rdf.org/ontology/hasLemma> "werden" + } +Bad: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> + } **/ Modified: trunk/examples/testCaseSPARQLDescription/1266166637085.conf =================================================================== --- trunk/examples/testCaseSPARQLDescription/1266166637085.conf 2010-02-15 16:14:49 UTC (rev 2040) +++ trunk/examples/testCaseSPARQLDescription/1266166637085.conf 2010-02-15 18:40:49 UTC (rev 2041) @@ -1,36 +1,39 @@ -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19832"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25995"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26867"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29778"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31487"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31994"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33592"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36480"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36630"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37885"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39264"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs42257"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs47997"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48009"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5887"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs16108"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27089"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27289"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29380"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29695"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs357"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36940"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39598"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41799"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44644"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs4624"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46785"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50417"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5948"); -import("http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9348"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs19832"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs25995"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs26867"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29778"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31487"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs31994"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs33592"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36480"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36630"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs37885"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39264"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs42257"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs47997"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs48009"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5887"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs16108"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27089"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs27289"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29380"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs29695"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs357"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs36940"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs39598"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs41799"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs44644"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs4624"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs46785"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs50417"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs5948"); +import("tiger/http%3A%2F%2Fnlp2rdf.org%2Fontology%2Fs9348"); import("tiger_trimmed_toPOS.rdf"); +algorithm = refexamples; +refexamples.noisePercentage = 10; +refexamples.maxExecutionTimeInSeconds = 10; Added: trunk/examples/testCaseSPARQLDescription/combined.conf =================================================================== --- trunk/examples/testCaseSPARQLDescription/combined.conf (rev 0) +++ trunk/examples/testCaseSPARQLDescription/combined.conf 2010-02-15 18:40:49 UTC (rev 2041) @@ -0,0 +1,76 @@ +import("combined.rdf"); + +algorithm = refexamples; +refexamples.noisePercentage = 10; +refexamples.maxExecutionTimeInSeconds = 60; +refexamples.writeSearchTree = true; +refexamples.searchTreeFile = "/tmp/log.txt"; +refexamples.replaceSearchTree = true; +//refexamples.startClass = "http://nlp2rdf.org/ontology/Sentence"; + +refexamples.useExistsConstructor = true; +refexamples.useAllConstructor = false; +refexamples.useNegation = false; +//refexamples.useDataHasValueConstructor = true; +//refexamples.valueFrequencyThreshold = 13; + +/** + +//allowedConcepts, allowedRoles, applyAllFilter, applyExistsFilter, cardinalityLimit, expansionPenaltyFactor, +forceRefinementLengthIncrease, guaranteeXgoodDescriptions, heuristic, horizontalExpansionFactor, +ignoredConcepts, ignoredRoles, improveSubsumptionHierarchy, instanceBasedDisjoints, logLevel, + maxClassDescriptionTests, maxExecutionTimeInSeconds, minExecutionTimeInSeconds, + negationPenalty, negativeWeight, noisePercentage, replaceSearchTree, searchTreeFile, + startClass, startNodeBonus, terminateOnNoiseReached, useAllConstructor, useBooleanDatatypes, + useCardinalityRestrictions, useDataHasValueConstructor, useDoubleDatatypes, useExistsConstructor, + useHasValueConstructor, useNegation, useOverlyGeneralList, usePropernessChecks, useShortConceptConstruction, + useStringDatatypes, useTooWeakList, valueFrequencyThreshold, writeSearchTree]. +**/ + ++"http://nlp2rdf.org/ontology/s19832" ++"http://nlp2rdf.org/ontology/s25995" ++"http://nlp2rdf.org/ontology/s26867" ++"http://nlp2rdf.org/ontology/s29778" ++"http://nlp2rdf.org/ontology/s31487" ++"http://nlp2rdf.org/ontology/s31994" ++"http://nlp2rdf.org/ontology/s33592" ++"http://nlp2rdf.org/ontology/s36480" ++"http://nlp2rdf.org/ontology/s36630" ++"http://nlp2rdf.org/ontology/s37885" ++"http://nlp2rdf.org/ontology/s39264" ++"http://nlp2rdf.org/ontology/s42257" ++"http://nlp2rdf.org/ontology/s47997" ++"http://nlp2rdf.org/ontology/s48009" ++"http://nlp2rdf.org/ontology/s5887" +-"http://nlp2rdf.org/ontology/s16108" +-"http://nlp2rdf.org/ontology/s27089" +-"http://nlp2rdf.org/ontology/s27289" +-"http://nlp2rdf.org/ontology/s29380" +-"http://nlp2rdf.org/ontology/s29695" +-"http://nlp2rdf.org/ontology/s357" +-"http://nlp2rdf.org/ontology/s36940" +-"http://nlp2rdf.org/ontology/s39598" +-"http://nlp2rdf.org/ontology/s41799" +-"http://nlp2rdf.org/ontology/s44644" +-"http://nlp2rdf.org/ontology/s4624" +-"http://nlp2rdf.org/ontology/s46785" +-"http://nlp2rdf.org/ontology/s50417" +-"http://nlp2rdf.org/ontology/s5948" +-"http://nlp2rdf.org/ontology/s9348" + + +/** +Good: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object1. +?object1 <http://nlp2rdf.org/ontology/hasLemma> "werden" + } +Bad: +SELECT DISTINCT ?subject { +?subject a <http://nlp2rdf.org/ontology/Sentence> . +?subject <http://nlp2rdf.org/ontology/hasToken> ?object0. +?object0 a <http://nlp2rdf.org/ontology/VVPP> + } **/ Added: trunk/examples/testCaseSPARQLDescription/combined.rdf =================================================================== --- trunk/examples/testCaseSPARQLDescription/combined.rdf (rev 0) +++ trunk/examples/testCaseSPARQLDescription/combined.rdf 2010-02-15 18:40:49 UTC (rev 2041) @@ -0,0 +1,18323 @@ +<?xml version="1.0" encoding="utf-8"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ADJA"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ADJA"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveAdjective"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Gastgeber</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w3_%2C"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Gastgeber</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Jim</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w4_Premierminister"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w6_Bolger"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Jim</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w5_Jim"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NE"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/APPR"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/APPR"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Preposition"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/generalsentenceinternalpunctuation_tag"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/generalsentenceinternalpunctuation_tag"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#SentenceInternalPunctuation"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/comma_tag"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/comma_tag"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Comma"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Kommuniqué</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w9_das"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Kommuniqué</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ADJD"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ADJD"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#PredicativeAdjective"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">als</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w13_%60%60"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">als</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w12_als"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/APPR"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w15_%27%27"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w15_%27%27"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">''</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w15_%27%27"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w15_%27%27"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w14_Sieg"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w15_%27%27"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w16_."/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w15_%27%27"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/generalsentenceinternalpunctuation_tag"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/Token"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w16_."> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w16_."> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">.</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w16_."> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w16_."> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w15_%27%27"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w16_."> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">bezeichnete</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w7_%2C"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w9_das"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">bezeichnen</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/VVFIN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">neuseeländische</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w0_Der"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">neuseeländisch</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/ADJA"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Sieg</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w13_%60%60"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w15_%27%27"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Sieg</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w14_Sieg"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ART"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ART"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Article"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/NN"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/NN"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#CommonNoun"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/sentencefinalpunctuation_tag"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#SentenceFinalPunctuation"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/NE"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/NE"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#ProperNoun"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w13_%60%60"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w13_%60%60"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">``</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w13_%60%60"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w13_%60%60"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w12_als"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w13_%60%60"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w14_Sieg"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w13_%60%60"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/generalsentenceinternalpunctuation_tag"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">das</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">der</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w9_das"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/ART"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Bolger</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w5_Jim"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w7_%2C"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Bolger</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w6_Bolger"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NE"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w15_%27%27"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w6_Bolger"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w0_Der"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w12_als"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Der neuseeländische Gastgeber , Premierminister Jim Bolger , bezeichnete das Kommuniqué ausdrücklich als `` Sieg '' .</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:firstToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w0_Der"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w7_%2C"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w9_das"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w16_."/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w14_Sieg"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w4_Premierminister"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w3_%2C"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Sentence"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w5_Jim"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108"> + <ns0:hasToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w13_%60%60"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w7_%2C"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w7_%2C"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">,</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w7_%2C"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w7_%2C"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w6_Bolger"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w7_%2C"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w8_bezeichnete"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w7_%2C"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/comma_tag"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w3_%2C"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w3_%2C"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">,</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w3_%2C"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w3_%2C"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w2_Gastgeber"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w3_%2C"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w4_Premierminister"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w3_%2C"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/comma_tag"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w0_Der"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w0_Der"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Der</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w0_Der"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w0_Der"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w1_neuseel%C3%A4ndische"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w0_Der"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">der</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w0_Der"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/ART"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/VVFIN"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/VVFIN"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#FiniteVerb"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Premierminister</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w3_%2C"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w5_Jim"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Premierminister</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w4_Premierminister"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">ausdrücklich</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w10_Kommuniqu%C3%A9"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s16108w12_als"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">ausdrücklich</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s16108w11_ausdr%C3%BCcklich"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/ADJD"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/Sentence"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ADJA"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/ADJA"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#AttributiveAdjective"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/APPR"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/APPR"> + <ns0:subClassOf xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#" rdf:resource="http://nachhalt.sfb632.uni-potsdam.de/owl/stts.owl#Preposition"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Sicherheitsvorkehrungen</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w9_bestehenden"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w11_weiter"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Sicherheitsvorkehrung</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w10_Sicherheitsvorkehrungen"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">verschärft</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w11_weiter"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w13_."/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">verschärfen</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w12_versch%C3%A4rft"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/VVPP"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">die</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w7_ohnehin"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">der</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w6_die"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/ART"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">Anschlägen</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <ns0:belongsToSentence xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <ns0:previousToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w4_den"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <ns0:nextToken xmlns:ns0="http://nlp2rdf.org/ontology/" rdf:resource="http://nlp2rdf.org/ontology/s19832w6_die"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <ns0:hasLemma xmlns:ns0="http://nlp2rdf.org/ontology/">Anschlag</ns0:hasLemma> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w5_Anschl%C3%A4gen"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/NN"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w8_schon"> + <rdf:type rdf:resource="http://nlp2rdf.org/ontology/Token"/> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w8_schon"> + <ns0:label xmlns:ns0="http://www.w3.org/2000/01/rdf-schema#">schon</ns0:label> + </rdf:Description> + <rdf:Description rdf:about="http://nlp2rdf.org/ontology/s19832w8_schon"> + <ns0... [truncated message content] |
From: <ku...@us...> - 2010-02-25 14:38:54
|
Revision: 2075 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2075&view=rev Author: kurzum Date: 2010-02-25 14:38:46 +0000 (Thu, 25 Feb 2010) Log Message: ----------- -removed the strange components.ini from lib -put it into org.dllearner -accessed no with ClassLoader.getResource like it should be Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/ComponentManager.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/components.ini Removed Paths: ------------- trunk/lib/components.ini Deleted: trunk/lib/components.ini =================================================================== --- trunk/lib/components.ini 2010-02-22 16:29:42 UTC (rev 2074) +++ trunk/lib/components.ini 2010-02-25 14:38:46 UTC (rev 2075) @@ -1,27 +0,0 @@ -// list of all components DL-Learner should use -// (if you implement your own components add them here) -# knowledge sources -org.dllearner.kb.OWLFile -org.dllearner.kb.KBFile -org.dllearner.kb.sparql.SparqlKnowledgeSource -org.dllearner.kb.OWLAPIOntology -# reasoners -org.dllearner.reasoning.OWLAPIReasoner -org.dllearner.reasoning.DIGReasoner -org.dllearner.reasoning.FastRetrievalReasoner -org.dllearner.reasoning.FastInstanceChecker -org.dllearner.reasoning.PelletReasoner -# learning problems -org.dllearner.learningproblems.PosNegLPStandard -org.dllearner.learningproblems.PosNegLPStrict -org.dllearner.learningproblems.PosOnlyLP -org.dllearner.learningproblems.ClassLearningProblem -# learning algorithms -org.dllearner.algorithms.RandomGuesser -org.dllearner.algorithms.BruteForceLearner -org.dllearner.algorithms.refinement.ROLearner -org.dllearner.algorithms.refinement2.ROLComponent2 -org.dllearner.algorithms.gp.GP -org.dllearner.algorithms.el.ELLearningAlgorithm -org.dllearner.algorithms.el.ELLearningAlgorithmDisjunctive -org.dllearner.algorithms.celoe.CELOE Added: trunk/src/dl-learner/org/dllearner/components.ini =================================================================== --- trunk/src/dl-learner/org/dllearner/components.ini (rev 0) +++ trunk/src/dl-learner/org/dllearner/components.ini 2010-02-25 14:38:46 UTC (rev 2075) @@ -0,0 +1,27 @@ +// list of all components DL-Learner should use +// (if you implement your own components add them here) +# knowledge sources +org.dllearner.kb.OWLFile +org.dllearner.kb.KBFile +org.dllearner.kb.sparql.SparqlKnowledgeSource +org.dllearner.kb.OWLAPIOntology +# reasoners +org.dllearner.reasoning.OWLAPIReasoner +org.dllearner.reasoning.DIGReasoner +org.dllearner.reasoning.FastRetrievalReasoner +org.dllearner.reasoning.FastInstanceChecker +org.dllearner.reasoning.PelletReasoner +# learning problems +org.dllearner.learningproblems.PosNegLPStandard +org.dllearner.learningproblems.PosNegLPStrict +org.dllearner.learningproblems.PosOnlyLP +org.dllearner.learningproblems.ClassLearningProblem +# learning algorithms +org.dllearner.algorithms.RandomGuesser +org.dllearner.algorithms.BruteForceLearner +org.dllearner.algorithms.refinement.ROLearner +org.dllearner.algorithms.refinement2.ROLComponent2 +org.dllearner.algorithms.gp.GP +org.dllearner.algorithms.el.ELLearningAlgorithm +org.dllearner.algorithms.el.ELLearningAlgorithmDisjunctive +org.dllearner.algorithms.celoe.CELOE Modified: trunk/src/dl-learner/org/dllearner/core/ComponentManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/ComponentManager.java 2010-02-22 16:29:42 UTC (rev 2074) +++ trunk/src/dl-learner/org/dllearner/core/ComponentManager.java 2010-02-25 14:38:46 UTC (rev 2075) @@ -22,7 +22,6 @@ import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.lang.reflect.Constructor; @@ -78,7 +77,7 @@ private static Collection<Class<? extends LearningProblem>> learningProblems; private static Collection<Class<? extends LearningAlgorithm>> learningAlgorithms; // you can either use the components.ini file or directly specify the classes to use - private static String componentsFile = "lib/components.ini"; + private static String componentsFile = "org/dllearner/components.ini"; private static String[] componentClasses = new String[]{}; private static ComponentManager cm = null; @@ -204,9 +203,8 @@ List<String> componentStrings = new LinkedList<String>(); try { - FileInputStream fstream = new FileInputStream(componentsFile); - - DataInputStream in = new DataInputStream(fstream); + + DataInputStream in = new DataInputStream(ClassLoader.getSystemResourceAsStream(componentsFile)); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2010-03-05 10:45:02
|
Revision: 2091 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2091&view=rev Author: jenslehmann Date: 2010-03-05 10:44:55 +0000 (Fri, 05 Mar 2010) Log Message: ----------- fixed bug #2952015 Modified Paths: -------------- trunk/build.xml trunk/src/dl-learner/org/dllearner/cli/Start.java Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2010-03-05 10:20:06 UTC (rev 2090) +++ trunk/build.xml 2010-03-05 10:44:55 UTC (rev 2091) @@ -117,7 +117,7 @@ <!-- compile project into temporary directory --> <mkdir dir="classes_tmp"/> - <javac destdir="classes_tmp" target="1.5"> + <javac destdir="classes_tmp" target="1.5" debug="on"> <src path="${source_dir}"/> <classpath refid="classpath"/> </javac> Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2010-03-05 10:20:06 UTC (rev 2090) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2010-03-05 10:44:55 UTC (rev 2091) @@ -222,10 +222,13 @@ * @throws ComponentInitException * @throws ParseException * @throws FileNotFoundException + * @throws IOException */ - public Start(File file) throws ComponentInitException, FileNotFoundException, ParseException { - String baseDir = file.getParentFile().getPath(); - + public Start(File file) throws ComponentInitException, ParseException, FileNotFoundException { + // see bug #2952015 on why the lower version is preferable + // String baseDir = file.getParentFile().getPath(); + String baseDir = file.getAbsoluteFile().getParent(); + // create component manager instance String message = "starting component manager ... "; long cmStartTime = System.nanoTime(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lor...@us...> - 2010-03-09 20:04:08
|
Revision: 2107 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2107&view=rev Author: lorenz_b Date: 2010-03-09 20:03:54 +0000 (Tue, 09 Mar 2010) Log Message: ----------- Fixed bug caused by not found icons. Pruned ORE build size by removing unnecessary libs in build script task. Modified Paths: -------------- trunk/build.xml trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/AutoCompleterMatcher.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/ManchesterOWLSyntaxParser.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/build.xml 2010-03-09 20:03:54 UTC (rev 2107) @@ -16,7 +16,7 @@ <property name="release_php_client_tmp_dir" value="release/php-client-${today}" /> <property name="release_ore_dir" value="release/ore-${today}" /> <property name="version_ore_dir" value="ore-${today}" /> - + <property environment="env"/> <property name = "protege.home" location="${env.PROTEGE_HOME}"/> <property name = "protege.plugins" location="${protege.home}/plugins"/> @@ -360,8 +360,8 @@ <fileset dir="${source}/META-INF" includes="MANIFEST.MF," /> </copy> <copy toDir="${temp}/lib/owlapi" > - <fileset dir="${lib_dir}/owlapi" includes="owlapiV3-bin.jar" /> - </copy> + <fileset dir="${lib_dir}/owlapi" includes="owlapiV3-bin.jar" /> + </copy> <copy toDir="${temp}/lib/ore-tool" > <fileset dir="${lib_dir}/ore-tool" includes="BrowserLauncher2-all-1_3.jar, swingx-1.6.jar" /> </copy> @@ -502,6 +502,12 @@ </copy> <mkdir dir="${release_ore_dir}"/> <mkdir dir="${release_ore_dir}/lib/"/> + <mkdir dir="${temp}/lib/pellet" /> + <mkdir dir="${temp}/lib/jena" /> + <mkdir dir="${temp}/lib/ore-tool" /> + <mkdir dir="${temp}/lib/owlapi" /> + <mkdir dir="${temp}/lib/protege" /> + <jar jarfile="${release_ore_dir}/lib/dllearner.jar"> <fileset dir="classes_tmp"/> </jar> @@ -509,8 +515,24 @@ <!-- copy all other libraries --> <copy toDir="${release_ore_dir}/lib"> - <fileset dir="${lib_dir}" /> + <fileset dir="${lib_dir}" includes="*.jar" excludes="xbean.jar, secondstring-20060615.jar + dig1.1-xmlbeans.jar, ant_latex.jar, jopt-simple-3.1.jar, ini4j-0.3.2.jar, junit-4.4.jar"/> </copy> + <copy toDir="${release_ore_dir}/lib/pellet"> + <fileset dir="${lib_dir}/pellet" /> + </copy> + <copy toDir="${release_ore_dir}/lib/ore-tool"> + <fileset dir="${lib_dir}/ore-tool" /> + </copy> + <copy toDir="${release_ore_dir}/lib/protege"> + <fileset dir="${lib_dir}/protege" /> + </copy> + <copy toDir="${release_ore_dir}/lib/jena"> + <fileset dir="${lib_dir}/jena" /> + </copy> + <copy toDir="${release_ore_dir}/lib/owlapi"> + <fileset dir="${lib_dir}/owlapi" /> + </copy> <!-- copy binary files and examples --> <copy toDir="${release_ore_dir}/examples"> @@ -554,50 +576,50 @@ </tar> <delete dir="release"/> </target> - + <!-- build the DL-Learner evaluation plugin for Protege --> - <target name="buildEvaluationProtegePlugin"> - <property name="source" value="src/dl-learner/org/dllearner/tools/evaluationplugin" /> - <property name="temp" value="${source}/temp" /> - <property name="build" value="${source}/build" /> + <target name="buildEvaluationProtegePlugin"> + <property name="source" value="src/dl-learner/org/dllearner/tools/evaluationplugin" /> + <property name="temp" value="${source}/temp" /> + <property name="build" value="${source}/build" /> - <mkdir dir="${temp}" /> - <mkdir dir="${build}" /> - <mkdir dir="${temp}/META-INF" /> - <mkdir dir="${temp}/lib" /> - <copy toDir="${temp}/META-INF" > - <fileset dir="${source}/META-INF" includes="MANIFEST.MF," /> - </copy> - <copy toDir="${temp}/lib" > - <fileset dir="${lib_dir}/ore-tool" includes="swingx-1.6.jar" /> - </copy> - <copy toDir="${temp}/lib" > - <fileset dir="${lib_dir}/jena" includes="json.jar" /> - </copy> - <copy toDir="${temp}" > - <fileset dir="${class_dir}" /> - </copy> - <copy toDir="${temp}" > - <fileset dir="${source}/META-INF" includes="**/*.xml," excludes="build.xml" /> - </copy> - <javac srcdir="${source}" + <mkdir dir="${temp}" /> + <mkdir dir="${build}" /> + <mkdir dir="${temp}/META-INF" /> + <mkdir dir="${temp}/lib" /> + <copy toDir="${temp}/META-INF" > + <fileset dir="${source}/META-INF" includes="MANIFEST.MF," /> + </copy> + <copy toDir="${temp}/lib" > + <fileset dir="${lib_dir}/ore-tool" includes="swingx-1.6.jar" /> + </copy> + <copy toDir="${temp}/lib" > + <fileset dir="${lib_dir}/jena" includes="json.jar" /> + </copy> + <copy toDir="${temp}" > + <fileset dir="${class_dir}" /> + </copy> + <copy toDir="${temp}" > + <fileset dir="${source}/META-INF" includes="**/*.xml," excludes="build.xml" /> + </copy> + <javac srcdir="${source}" destdir="${temp}" debug="on" target="1.5"> - <classpath refid="classpath"/> - </javac> - <jar destfile="${build}/DL-Learner-evaluation-protege-plugin.jar" manifest="${temp}/META-INF/MANIFEST.MF"> - <fileset dir="${temp}" /> - </jar> - </target> - + <classpath refid="classpath"/> + </javac> + <jar destfile="${build}/DL-Learner-evaluation-protege-plugin.jar" manifest="${temp}/META-INF/MANIFEST.MF"> + <fileset dir="${temp}" /> + </jar> + </target> + <!-- build and install the DL-Learner evaluation plugin for Protege to the given Protege directory --> - <target name="installEvaluationProtegePlugin" depends="buildEvaluationProtegePlugin"> - <copy file="${build}/DL-Learner-evaluation-protege-plugin.jar" + <target name="installEvaluationProtegePlugin" depends="buildEvaluationProtegePlugin"> + <copy file="${build}/DL-Learner-evaluation-protege-plugin.jar" todir = "${protege.plugins}" overwrite = "true"/> - <delete dir="${temp}" /> - <delete dir="${build}" /> - </target> + <delete dir="${temp}" /> + <delete dir="${build}" /> + </target> </project> Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -33,6 +33,7 @@ import javax.swing.table.TableColumn; import org.dllearner.tools.ore.ImpactManager; +import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.RepairManager; import org.dllearner.tools.ore.RepairManagerListener; @@ -62,6 +63,9 @@ */ private static final long serialVersionUID = 5580730282611559609L; + private final Icon deleteCrossIcon = new ImageIcon(OREApplication.class.getResource("DeleteCross.gif")); + private final Icon editIcon = new ImageIcon(OREApplication.class.getResource("Edit16.gif")); + private RepairManager repMan; private OREManager oreMan; @@ -112,7 +116,7 @@ return b; } }); - getColumn(4).setHeaderValue(new ImageIcon(this.getClass().getResource("../DeleteCross.gif"))); + getColumn(4).setHeaderValue(deleteCrossIcon); getSelectionModel().addListSelectionListener( new ListSelectionListener() { @@ -213,7 +217,7 @@ setForeground(table.getForeground()); setBackground(UIManager.getColor("Button.background")); } - setIcon(new ImageIcon(this.getClass().getResource("../Edit16.gif"))); + setIcon(editIcon); setText(""); return this; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -58,6 +58,7 @@ import org.dllearner.kb.sparql.SPARQLTasks; import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.kb.sparql.SparqlKnowledgeSource; +import org.dllearner.tools.ore.OREApplication; import org.dllearner.utilities.datastructures.SetManipulation; import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator; @@ -90,8 +91,8 @@ private SparqlExtractOptionsPanel optionsPanel; private JToggleButton optionsButton; - private ImageIcon toggledIcon = new ImageIcon(this.getClass().getResource("../toggled.gif")); - private ImageIcon untoggledIcon = new ImageIcon(this.getClass().getResource("../untoggled.gif")); + private ImageIcon toggledIcon = new ImageIcon(OREApplication.class.getResource("toggled.gif")); + private ImageIcon untoggledIcon = new ImageIcon(OREApplication.class.getResource("untoggled.gif")); private static final String URL_HELP_TEXT = "<html><table border=\"1\">" + "<tr>" + Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassExpressionsTable.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -10,6 +10,7 @@ import javax.swing.JTable; import javax.swing.table.TableCellRenderer; +import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.ui.rendering.ProgressBarTableCellRenderer; import org.jdesktop.swingx.JXTable; @@ -19,7 +20,7 @@ * */ private static final long serialVersionUID = 4193878042914394758L; - private Icon icon = new ImageIcon(OREManager.class.getResource("untoggled.gif")); + private Icon icon = new ImageIcon(OREApplication.class.getResource("untoggled.gif")); public MarkableClassExpressionsTable(){ super(new MarkableClassExpressionsTableModel()); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -10,6 +10,7 @@ import javax.swing.table.TableCellRenderer; import org.dllearner.core.owl.NamedClass; +import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxTableCellRenderer; import org.jdesktop.swingx.JXTable; @@ -19,7 +20,7 @@ * */ private static final long serialVersionUID = 4193878042914394758L; - private ImageIcon icon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/untoggled.gif"); + private ImageIcon icon = new ImageIcon(OREApplication.class.getResource("untoggled.gif")); public MarkableClassesTable(){ super(new MarkableClassesTableModel()); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -15,6 +15,7 @@ import javax.swing.table.TableCellRenderer; import org.dllearner.tools.ore.ImpactManager; +import org.dllearner.tools.ore.OREApplication; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.RepairManager; import org.dllearner.tools.ore.ui.rendering.TextAreaRenderer; @@ -27,7 +28,7 @@ * */ private static final long serialVersionUID = -621497634521668635L; - private final Icon deleteIcon = new ImageIcon(this.getClass().getResource("../Delete16.gif")); + private final Icon deleteIcon = new ImageIcon(OREApplication.class.getResource("Delete16.gif")); public RepairTable() { super(new RepairTableModel()); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -2,10 +2,12 @@ import java.util.Set; +import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.table.DefaultTableCellRenderer; import org.dllearner.tools.ore.ExplanationManager; +import org.dllearner.tools.ore.OREApplication; import org.semanticweb.owl.model.OWLClass; public class UnsatClassesTableCellRenderer extends DefaultTableCellRenderer { @@ -15,6 +17,8 @@ */ private static final long serialVersionUID = -6705062445027715783L; + private final Icon icon = new ImageIcon(OREApplication.class.getResource("information.png")); + private ExplanationManager manager; private Set<OWLClass> rootClasses; @@ -28,7 +32,7 @@ if(value instanceof OWLClass){ if(rootClasses.contains((OWLClass)value)){ // setText(value.toString() ); - setIcon(new ImageIcon(this.getClass().getResource("../information.png"))); + setIcon(icon); // setHorizontalTextPosition(LEADING); } else { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/AutoCompleterMatcher.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/AutoCompleterMatcher.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/AutoCompleterMatcher.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -29,7 +29,6 @@ public Set<OWLObject> getMatches(String fragment, boolean classes, boolean objectProperties, boolean dataProperties, boolean individuals, boolean datatypes) { -// TreeSet<OWLObject> set = new TreeSet<OWLObject>(owlModelManager.getOWLObjectComparator()); TreeSet<OWLObject> set = new TreeSet<OWLObject>(new OWLObjectComparator<OWLObject>()); fragment = fragment + "*"; // look for strings that start with the given fragment Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/ManchesterOWLSyntaxParser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/ManchesterOWLSyntaxParser.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/editor/ManchesterOWLSyntaxParser.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -147,11 +147,11 @@ private static final String CLASS = ManchesterOWLSyntax.CLASS.toString() + ":"; - private static final String SUB_CLASS_OF = ManchesterOWLSyntax.SUBCLASS_OF.toString() + ":"; + private static final String SUB_CLASS_OF = ManchesterOWLSyntax.SUBCLASS_OF.toString();// + ":"; - private static final String EQUIVALENT_TO = ManchesterOWLSyntax.EQUIVALENT_TO.toString() + ":"; + private static final String EQUIVALENT_TO = ManchesterOWLSyntax.EQUIVALENT_TO.toString();// + ":"; - private static final String DISJOINT_WITH = ManchesterOWLSyntax.DISJOINT_WITH.toString() + ":"; + private static final String DISJOINT_WITH = ManchesterOWLSyntax.DISJOINT_WITH.toString();// + ":"; private static final String OBJECT_PROPERTY = ManchesterOWLSyntax.OBJECT_PROPERTY.toString() + ":"; @@ -159,9 +159,9 @@ private static final String SUB_PROPERTY_OF = ManchesterOWLSyntax.SUB_PROPERTY_OF.toString() + ":"; - private static final String DOMAIN = ManchesterOWLSyntax.DOMAIN.toString() + ":"; + private static final String DOMAIN = ManchesterOWLSyntax.DOMAIN.toString();// + ":"; - private static final String RANGE = ManchesterOWLSyntax.RANGE.toString() + ":"; + private static final String RANGE = ManchesterOWLSyntax.RANGE.toString();// + ":"; private static final String CHARACTERISTICS = ManchesterOWLSyntax.CHARACTERISTICS.toString() + ":"; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java 2010-03-09 15:08:15 UTC (rev 2106) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java 2010-03-09 20:03:54 UTC (rev 2107) @@ -198,7 +198,7 @@ public void reset(){ classesTable.clear(); - minInstanceCountSpinner.setValue(Integer.valueOf(1)); + minInstanceCountSpinner.setValue(Integer.valueOf(3)); autoLearnButton.setSelected(true); setAutoLearningPanel(true); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |