From: <sha...@us...> - 2011-08-26 04:15:10
|
Revision: 3126 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3126&view=rev Author: shadowtm Date: 2011-08-26 04:15:03 +0000 (Fri, 26 Aug 2011) Log Message: ----------- Got the Father.conf file to load everything that the algorithm needed and begin executing the OCEL algorithm. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/RandomGuesser.java trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithm.java trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/MultiHeuristic.java trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/OCEL.java trunk/components-core/src/main/java/org/dllearner/algorithms/refinement/ROLearner.java trunk/components-core/src/main/java/org/dllearner/configuration/IConfiguration.java trunk/components-core/src/main/java/org/dllearner/core/AbstractCELA.java trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java trunk/components-core/src/main/java/org/dllearner/kb/KBFile.java trunk/components-core/src/main/java/org/dllearner/kb/OWLFile.java trunk/interfaces/src/main/java/org/dllearner/configuration/spring/ConfigurationBasedBeanDefinitionRegistryPostProcessor.java trunk/interfaces/src/main/java/org/dllearner/configuration/spring/DefaultApplicationContextBuilder.java trunk/interfaces/src/main/java/org/dllearner/confparser2/ConfParserConfiguration.java trunk/interfaces/src/test/java/org/dllearner/cli/FatherCLITest.java trunk/interfaces/src/test/resources/org/dllearner/configuration/spring/configurationBasedPropertyOverrideConfigurer.conf trunk/interfaces/src/test/resources/org/dllearner/confparser2/confParserConfigurationTest.conf Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/RandomGuesser.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/RandomGuesser.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/RandomGuesser.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -25,7 +25,6 @@ import org.apache.log4j.Logger; import org.dllearner.algorithms.gp.GPUtilities; import org.dllearner.core.*; -import org.dllearner.core.configurators.RandomGuesserConfigurator; import org.dllearner.core.options.ConfigEntry; import org.dllearner.core.options.ConfigOption; import org.dllearner.core.options.IntegerConfigOption; Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithm.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithm.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithm.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -32,9 +32,6 @@ import org.dllearner.core.AbstractReasonerComponent; import org.dllearner.core.config.BooleanEditor; import org.dllearner.core.config.ConfigOption; -import org.dllearner.core.configurators.Configurator; -import org.dllearner.core.configurators.ELLearningAlgorithmConfigurator; -import org.dllearner.core.options.CommonConfigOptions; import org.dllearner.core.owl.Description; import org.dllearner.core.owl.Thing; import org.dllearner.learningproblems.EvaluatedDescriptionPosNeg; @@ -91,11 +88,7 @@ return problems; } - // we can assume a PosNegLP, because it is the only supported one - private PosNegLP getLearningProblem() { - return (PosNegLP) learningProblem; - } - + // @Override // public ELLearningAlgorithmConfigurator getConfigurator() { // return configurator; @@ -166,7 +159,7 @@ Description description = descriptionTree.transformToDescription(); // double accuracy = getLearningProblem().getAccuracyOrTooWeak(description, 0); - int negCovers = getLearningProblem().coveredNegativeExamplesOrTooWeak(description); + int negCovers = ((PosNegLP)getLearningProblem()).coveredNegativeExamplesOrTooWeak(description); if(negCovers == -1) { // if(accuracy == -1) { node.setTooWeak(); Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/el/ELLearningAlgorithmDisjunctive.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -139,11 +139,6 @@ return options; } - // we can assume a PosNegLP, because it is the only supported one - private PosNegLP getLearningProblem() { - return (PosNegLP) learningProblem; - } - public Configurator getConfigurator() { return configurator; } @@ -399,8 +394,8 @@ trees.clear(); currentSolution.clear(); bestEvaluatedDescription = learningProblem.evaluate(Thing.instance); - currentPosExamples = getLearningProblem().getPositiveExamples(); - currentNegExamples = getLearningProblem().getNegativeExamples(); + currentPosExamples = ((PosNegLP)getLearningProblem()).getPositiveExamples(); + currentNegExamples = ((PosNegLP)getLearningProblem()).getNegativeExamples(); startPosExamplesSize = currentPosExamples.size(); // startNegExamplesSize = currentNegExamples.size(); } Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/MultiHeuristic.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/MultiHeuristic.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/MultiHeuristic.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -119,7 +119,11 @@ this.startNodeBonus = startNodeBonus; this.expansionPenaltyFactor = expansionPenaltyFactor; } - + + public MultiHeuristic(){ + + } + // public MultiHeuristic(int nrOfPositiveExamples, int nrOfNegativeExamples, double expansionPenaltyFactor, double gainBonusFactor) { // this.nrOfNegativeExamples = nrOfNegativeExamples; // nrOfExamples = nrOfPositiveExamples + nrOfNegativeExamples; @@ -204,4 +208,11 @@ return bonus; } + public double getExpansionPenaltyFactor() { + return expansionPenaltyFactor; + } + + public void setExpansionPenaltyFactor(double expansionPenaltyFactor) { + this.expansionPenaltyFactor = expansionPenaltyFactor; + } } Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/OCEL.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/OCEL.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/ocel/OCEL.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -162,6 +162,10 @@ // Faktor für horizontale Erweiterung (notwendig für completeness) // double horizontalExpansionFactor = 0.6; + + public OCEL(){ + + } // soll später einen Operator und eine Heuristik entgegennehmen // public ROLearner(LearningProblem learningProblem, LearningProblem learningProblem2) { public OCEL(PosNegLP learningProblem, AbstractReasonerComponent reasoningService) { @@ -318,7 +322,7 @@ public void init() throws ComponentInitException { // exit with a ComponentInitException if the reasoner is unsupported for this learning algorithm - if(reasoner.getReasonerType() == ReasonerType.DIG) { + if(getReasoner().getReasonerType() == ReasonerType.DIG) { throw new ComponentInitException("DIG does not support the inferences needed in the selected learning algorithm component: " + getName()); } @@ -341,14 +345,15 @@ if(learningProblem instanceof PosOnlyLP) { throw new RuntimeException("does not work with positive examples only yet"); } - heuristic = new FlexibleHeuristic(((PosNegLP)learningProblem).getNegativeExamples().size(), ((PosNegLP)learningProblem).getPercentPerLengthUnit()); + heuristic = new FlexibleHeuristic(((PosNegLP) getLearningProblem()).getNegativeExamples().size(), ((PosNegLP) getLearningProblem()).getPercentPerLengthUnit()); } else { - if(learningProblem instanceof PosOnlyLP) { + //The Heuristic is now injected +// if(getLearningProblem() instanceof PosOnlyLP) { // throw new RuntimeException("does not work with positive examples only yet"); - heuristic = new MultiHeuristic(((PosOnlyLP)learningProblem).getPositiveExamples().size(),0, negativeWeight, startNodeBonus, expansionPenaltyFactor, negationPenalty); - } else { - heuristic = new MultiHeuristic(((PosNegLP)learningProblem).getPositiveExamples().size(),((PosNegLP)learningProblem).getNegativeExamples().size(), negativeWeight, startNodeBonus, expansionPenaltyFactor, negationPenalty); - } +// heuristic = new MultiHeuristic(((PosOnlyLP) getLearningProblem()).getPositiveExamples().size(),0, negativeWeight, startNodeBonus, expansionPenaltyFactor, negationPenalty); +// } else { +// heuristic = new MultiHeuristic(((PosNegLP) getLearningProblem()).getPositiveExamples().size(),((PosNegLP) getLearningProblem()).getNegativeExamples().size(), negativeWeight, startNodeBonus, expansionPenaltyFactor, negationPenalty); +// } } // warn the user if he/she sets any non-standard heuristic, because it will just be ignored @@ -552,11 +557,11 @@ this.replaceSearchTree = replaceSearchTree; } - public String getHeuristic() { + public String getHeuristicStr() { return heuristicStr; } - public void setHeuristic(String heuristic) { + public void setHeuristicStr(String heuristic) { this.heuristicStr = heuristic; } @@ -851,4 +856,8 @@ public void setHeuristic(ExampleBasedHeuristic heuristic) { this.heuristic = heuristic; } + + public ExampleBasedHeuristic getHeuristic() { + return heuristic; + } } Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/refinement/ROLearner.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/refinement/ROLearner.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -982,7 +982,7 @@ // System.out.println("max. number of one-step refinements: " + maxNrOfRefinements); // System.out.println("max. number of children of a node: " + maxNrOfChildren); logger.debug("subsumption time: " + Helper.prettyPrintNanoSeconds(reasoner.getSubsumptionReasoningTimeNs())); - logger.debug("instance check time: " + Helper.prettyPrintNanoSeconds(reasoner.getInstanceCheckReasoningTimeNs())); + logger.debug("instance check time: " + Helper.prettyPrintNanoSeconds(reasoner.getInstanceCheckReasoningTimeNs())); } if(showBenchmarkInformation) { Modified: trunk/components-core/src/main/java/org/dllearner/configuration/IConfiguration.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/configuration/IConfiguration.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/configuration/IConfiguration.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -86,6 +86,12 @@ */ public Set<String> getNegativeExamples(); + /** + * Get the Base Directory where this configuration should be running out of. + * + * @return The Base Directory where this configuration should be running out of. + */ + public String getBaseDir(); } Modified: trunk/components-core/src/main/java/org/dllearner/core/AbstractCELA.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AbstractCELA.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/core/AbstractCELA.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -60,6 +60,13 @@ */ protected AbstractReasonerComponent reasoner; + + /** + * Default Constructor + */ + public AbstractCELA(){ + + } /** * Each learning algorithm gets a learning problem and * a reasoner as input. @@ -270,5 +277,28 @@ public static Collection<Class<? extends AbstractLearningProblem>> supportedLearningProblems() { return new LinkedList<Class<? extends AbstractLearningProblem>>(); } - + + /** + * The learning problem variable, which must be used by + * all learning algorithm implementations. + */ + public AbstractLearningProblem getLearningProblem() { + return learningProblem; + } + + public void setLearningProblem(AbstractLearningProblem learningProblem) { + this.learningProblem = learningProblem; + } + + /** + * The reasoning service variable, which must be used by + * all learning algorithm implementations. + */ + public AbstractReasonerComponent getReasoner() { + return reasoner; + } + + public void setReasoner(AbstractReasonerComponent reasoner) { + this.reasoner = reasoner; + } } Modified: trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -73,6 +73,12 @@ "org.dllearner.algorithms.properties.SubDataPropertyOfAxiomLearner", "org.dllearner.algorithms.DisjointClassesLearner", "org.dllearner.algorithms.SimpleSubclassLearner", + "org.dllearner.kb.KBFile", + "org.dllearner.learningproblems.PosNegLPStandard", + "org.dllearner.reasoning.FastInstanceChecker", + "org.dllearner.algorithms.ocel.OCEL", + "org.dllearner.algorithms.ocel.MultiHeuristic", + "org.dllearner.refinementoperators.RhoDRDown", } )); private static Collection<Class<? extends Component>> components; private static BidiMap<Class<? extends Component>, String> componentNames; Modified: trunk/components-core/src/main/java/org/dllearner/kb/KBFile.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/KBFile.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/kb/KBFile.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -55,7 +55,6 @@ @ConfigOption(name = "url", description = "URL pointer to the KB file", defaultValue = "", required = false, propertyEditorClass = StringTrimmerEditor.class) private String url; - @ConfigOption(name = "baseDir", description = "Base Directory to look for the file in", defaultValue = ".", required = false, propertyEditorClass = StringTrimmerEditor.class) private String baseDir; /** Modified: trunk/components-core/src/main/java/org/dllearner/kb/OWLFile.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/OWLFile.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/components-core/src/main/java/org/dllearner/kb/OWLFile.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -49,7 +49,7 @@ // TODO: turn this into a config option private URL url; - + private String baseDir; // private URL url; // private OWLFileConfigurator configurator ; // @Override @@ -139,4 +139,11 @@ throw new Error("OWL -> KB conversion not implemented yet."); } + public String getBaseDir() { + return baseDir; + } + + public void setBaseDir(String baseDir) { + this.baseDir = baseDir; + } } Modified: trunk/interfaces/src/main/java/org/dllearner/configuration/spring/ConfigurationBasedBeanDefinitionRegistryPostProcessor.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/configuration/spring/ConfigurationBasedBeanDefinitionRegistryPostProcessor.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/interfaces/src/main/java/org/dllearner/configuration/spring/ConfigurationBasedBeanDefinitionRegistryPostProcessor.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -1,6 +1,8 @@ package org.dllearner.configuration.spring; import org.dllearner.configuration.IConfiguration; +import org.dllearner.kb.KBFile; +import org.dllearner.kb.OWLFile; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; @@ -37,6 +39,12 @@ BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(beanClass); BeanDefinition definition = builder.getBeanDefinition(); + + /** Add Base Directory */ + if(beanClass.isAssignableFrom(KBFile.class) || beanClass.isAssignableFrom(OWLFile.class)){ + definition.getPropertyValues().addPropertyValue("baseDir",configuration.getBaseDir()); + } + registry.registerBeanDefinition(beanName,definition); } } Modified: trunk/interfaces/src/main/java/org/dllearner/configuration/spring/DefaultApplicationContextBuilder.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/configuration/spring/DefaultApplicationContextBuilder.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/interfaces/src/main/java/org/dllearner/configuration/spring/DefaultApplicationContextBuilder.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -27,13 +27,14 @@ ConfigurableApplicationContext context = null; ConfParserConfiguration configuration = new ConfParserConfiguration(confFile); + // Post Processors BeanDefinitionRegistryPostProcessor beanDefinitionRegistryPostProcessor = new ConfigurationBasedBeanDefinitionRegistryPostProcessor(configuration); ConfigurationBasedPropertyOverrideConfigurer configurer = new ConfigurationBasedPropertyOverrideConfigurer(configuration, false); configurer.setProperties(configuration.getProperties()); configurer.getComponentKeyPrefixes().addAll(componentKeyPrefixes); - /** These files need to be loaded first */ + //These files need to be loaded first List<Resource> allSpringConfigFiles = new ArrayList<Resource>(); allSpringConfigFiles.add(new ClassPathResource("/org/dllearner/configuration/spring/bean-post-processor-configuration.xml")); allSpringConfigFiles.addAll(springConfigurationLocations); @@ -46,10 +47,11 @@ } context = new ClassPathXmlApplicationContext(springConfigurationFiles, false); - /** These post processors run before object instantiation */ + // These post processors run before object instantiation context.addBeanFactoryPostProcessor(beanDefinitionRegistryPostProcessor); context.addBeanFactoryPostProcessor(configurer); + //Instantiate and initialize the beans. context.refresh(); return context; } Modified: trunk/interfaces/src/main/java/org/dllearner/confparser2/ConfParserConfiguration.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/confparser2/ConfParserConfiguration.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/interfaces/src/main/java/org/dllearner/confparser2/ConfParserConfiguration.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -24,9 +24,11 @@ public class ConfParserConfiguration implements IConfiguration { private final ConfParser parser; + private final String baseDir; public ConfParserConfiguration(Resource source){ try { + baseDir = source.getFile().getAbsoluteFile().getParent(); parser = new ConfParser(source.getInputStream()); parser.Start(); } catch (ParseException e) { @@ -175,4 +177,9 @@ return result; } + + @Override + public String getBaseDir() { + return baseDir; + } } Modified: trunk/interfaces/src/test/java/org/dllearner/cli/FatherCLITest.java =================================================================== --- trunk/interfaces/src/test/java/org/dllearner/cli/FatherCLITest.java 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/interfaces/src/test/java/org/dllearner/cli/FatherCLITest.java 2011-08-26 04:15:03 UTC (rev 3126) @@ -1,6 +1,7 @@ package org.dllearner.cli; import junit.framework.Assert; +import org.dllearner.algorithms.ocel.OCEL; import org.dllearner.configuration.spring.ApplicationContextBuilder; import org.dllearner.configuration.spring.DefaultApplicationContextBuilder; import org.dllearner.learningproblems.PosNegLPStandard; @@ -33,6 +34,7 @@ /** The DL-Learner Config File */ Resource confFile = new FileSystemResource("./examples/family/father.conf"); +// confFile.getAbsoluteFile().getParent( /** Component Key Prefixes */ List<String> componentKeyPrefixes = new ArrayList<String>(); componentKeyPrefixes.add("component:"); @@ -50,10 +52,18 @@ @Test public void testFatherConf(){ - context.getBean("kbFile"); - PosNegLPStandard lp = context.getBean("learningProblem", PosNegLPStandard.class); + PosNegLPStandard lp = context.getBean("lp", PosNegLPStandard.class); Assert.assertTrue(lp.getPositiveExamples().size() == 3); Assert.assertTrue(lp.getNegativeExamples().size() == 4); + Assert.assertNotNull(lp.getReasoner()); + + OCEL algorithm = context.getBean("alg",OCEL.class); + Assert.assertNotNull(algorithm); + + algorithm.start(); + + + } } Modified: trunk/interfaces/src/test/resources/org/dllearner/configuration/spring/configurationBasedPropertyOverrideConfigurer.conf =================================================================== --- trunk/interfaces/src/test/resources/org/dllearner/configuration/spring/configurationBasedPropertyOverrideConfigurer.conf 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/interfaces/src/test/resources/org/dllearner/configuration/spring/configurationBasedPropertyOverrideConfigurer.conf 2011-08-26 04:15:03 UTC (rev 3126) @@ -3,33 +3,33 @@ */ // a single line comment, which is ignored -testBean.simpleValue="simple value example"; // simple value +testBean.simpleValue="simple value example" // simple value -testBean.component=component:secondBean; // I wonder whether we even need the component keyword or could just write beanName.property=:test; +testBean.component=component:secondBean // I wonder whether we even need the component keyword or could just write beanName.property=:test; -testBean.intValue = 23; // an integer value +testBean.intValue = 23 // an integer value -testBean.doubleValue = 78.5; // a double value +testBean.doubleValue = 78.5 // a double value -testBean.setValue={"a"}; // a set (list is not implemented, but can be done analogously) +testBean.setValue={"a"} // a set (list is not implemented, but can be done analogously) -testBean.mapValue=[("a","b"),("c","d")]; // a map (we can use whatever syntax we like, this is the existing one) +testBean.mapValue=[("a","b"),("c","d")] // a map (we can use whatever syntax we like, this is the existing one) // Second Bean Definition - to show loading of a referenced bean -secondBean.simpleValue="second bean example"; // simple value -secondBean.component=component:thirdBean; //Another Bean -secondBean.intValue = 85; // an integer value -secondBean.doubleValue = 178.5; // a double value -secondBean.setValue={"e"}; // a set (list is not implemented, but can be done analogously) -secondBean.mapValue=[("f","g"),("c","d")]; // a map (we can use whatever syntax we like, this is the existing one) -secondBean.componentSet={"component:thirdBean","component:fourthBean"}; +secondBean.simpleValue="second bean example" // simple value +secondBean.component=component:thirdBean //Another Bean +secondBean.intValue = 85 // an integer value +secondBean.doubleValue = 178.5 // a double value +secondBean.setValue={"e"} // a set (list is not implemented, but can be done analogously) +secondBean.mapValue=[("f","g"),("c","d")] // a map (we can use whatever syntax we like, this is the existing one) +secondBean.componentSet={"component:thirdBean","component:fourthBean"} -thirdBean.intValue=3; -thirdBean.component=component:fourthBean; +thirdBean.intValue=3 +thirdBean.component=component:fourthBean -fourthBean.simpleValue="Fourth Bean - not specified in xml"; -fourthBean.type="org.dllearner.configuration.spring.TestBean"; +fourthBean.simpleValue="Fourth Bean - not specified in xml" +fourthBean.type="org.dllearner.configuration.spring.TestBean" // you can also specify positive and negative examples // (not sure if we really need that) +"http://example.org/pos1/" Modified: trunk/interfaces/src/test/resources/org/dllearner/confparser2/confParserConfigurationTest.conf =================================================================== --- trunk/interfaces/src/test/resources/org/dllearner/confparser2/confParserConfigurationTest.conf 2011-08-25 15:10:11 UTC (rev 3125) +++ trunk/interfaces/src/test/resources/org/dllearner/confparser2/confParserConfigurationTest.conf 2011-08-26 04:15:03 UTC (rev 3126) @@ -3,17 +3,17 @@ */ // a single line comment, which is ignored -testBean.simpleValue="simple value example"; // simple value +testBean.simpleValue="simple value example" // simple value -testBean.component=component:test; // I wonder whether we even need the component keyword or could just write beanName.property=:test; +testBean.component=component:test // I wonder whether we even need the component keyword or could just write beanName.property=:test; -testBean.intValue = 23; // an integer value +testBean.intValue = 23 // an integer value -testBean.doubleValue = 78.5; // a double value +testBean.doubleValue = 78.5 // a double value -testBean.setValue={"a"}; // a set (list is not implemented, but can be done analogously) +testBean.setValue={"a"} // a set (list is not implemented, but can be done analogously) -testBean.mapValue=[("a","b"),("c","d")]; // a map (we can use whatever syntax we like, this is the existing one) +testBean.mapValue=[("a","b"),("c","d")] // a map (we can use whatever syntax we like, this is the existing one) // you can also specify positive and negative examples // (not sure if we really need that) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |