From: <ku...@us...> - 2008-04-23 12:42:58
|
Revision: 820 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=820&view=rev Author: kurzum Date: 2008-04-23 05:42:53 -0700 (Wed, 23 Apr 2008) Log Message: ----------- output changes, logfile is now created by default in "the_log.txt" Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java trunk/src/dl-learner/org/dllearner/cli/Start.java trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-23 09:28:15 UTC (rev 819) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-23 12:42:53 UTC (rev 820) @@ -255,8 +255,8 @@ this.useOverlyGeneralList = useOverlyGeneralList; this.useShortConceptConstruction = useShortConceptConstruction; this.baseURI = rs.getBaseURI(); - this.maxExecutionTimeInSeconds=maxExecutionTimeInSeconds; - this.minExecutionTimeInSeconds=minExecutionTimeInSeconds; + this.maxExecutionTimeInSeconds = maxExecutionTimeInSeconds; + this.minExecutionTimeInSeconds = minExecutionTimeInSeconds; this.guaranteeXgoodDescriptions = guaranteeXgoodDescriptions; @@ -1037,6 +1037,10 @@ return ; i++; } + for (int j = 0; j < solutions.size(); j++) { + Description d = solutions.get(j); + logger.trace(d.toString()); + } } Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-23 09:28:15 UTC (rev 819) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-23 12:42:53 UTC (rev 820) @@ -69,11 +69,16 @@ private boolean useShortConceptConstruction = true; private double horizontalExpansionFactor = 0.6; private boolean improveSubsumptionHierarchy = true; - private boolean useAllConstructor = true; - private boolean useExistsConstructor = true; - private boolean useNegation = true; + private boolean useAllConstructor = CommonConfigOptions.useAllConstructorDefault; + private boolean useExistsConstructor = CommonConfigOptions.useExistsConstructorDefault; + //this was added so you can switch algorithm without removing everything not applicable + private boolean useCardinalityRestrictions = CommonConfigOptions.useCardinalityRestrictionsDefault; + private boolean useNegation = CommonConfigOptions.useNegationDefault; + //TODO different standard options to CommonConfigOptions private boolean useBooleanDatatypes = false; + + //extended Options private int maxExecutionTimeInSeconds = CommonConfigOptions.maxExecutionTimeInSecondsDefault; private boolean maxExecutionTimeShown=false; @@ -228,7 +233,8 @@ options.add(CommonConfigOptions.ignoredRoles()); options.add(CommonConfigOptions.useAllConstructor()); options.add(CommonConfigOptions.useExistsConstructor()); - options.add(CommonConfigOptions.useNegation()); + options.add(CommonConfigOptions.useNegation()); + options.add(CommonConfigOptions.useCardinalityRestrictions()); options.add(CommonConfigOptions.useBooleanDatatypes()); options.add(CommonConfigOptions.maxExecutionTimeInSeconds()); options.add(CommonConfigOptions.minExecutionTimeInSeconds()); @@ -282,6 +288,8 @@ useAllConstructor = (Boolean) entry.getValue(); } else if(name.equals("useExistsConstructor")) { useExistsConstructor = (Boolean) entry.getValue(); + }else if(name.equals("useCardinalityRestrictions")) { + useCardinalityRestrictions = (Boolean) entry.getValue(); } else if(name.equals("useNegation")) { useNegation = (Boolean) entry.getValue(); } else if(name.equals("useBooleanDatatypes")) { @@ -304,6 +312,7 @@ @Override public void init() { logger.setLevel(Level.toLevel(logLevel,Level.toLevel(CommonConfigOptions.logLevelDefault))); + if(searchTreeFile == null) searchTreeFile = new File(defaultSearchTreeFile); @@ -405,6 +414,11 @@ algorithmStartTime = System.nanoTime(); + //second set of lines below, sometimes doesn't go into while, see above + if(maxExecutionTimeReached()) { stop=true;} + solutionFound = (guaranteeXgoodDescriptions() ); + solutionFound = (minExecutionTimeReached()&& solutionFound); + // TODO: effizienter Traversal der Subsumption-Hierarchie // TODO: Äquivalenzen nutzen // TODO: Gibt es auch eine andere Abbruchbedingung? Es könnte sein, dass irgendwann keine @@ -506,7 +520,7 @@ Files.createFile(searchTreeFile, treeString); else Files.appendFile(searchTreeFile, treeString); - } + }//write search tree // Anzahl Schleifendurchläufe loop++; @@ -514,13 +528,15 @@ if(!quiet) logger.debug("--- loop " + loop + " finished ---"); - } + + solutionFound = (guaranteeXgoodDescriptions() ); + solutionFound = (minExecutionTimeReached()&& solutionFound); + if(maxExecutionTimeReached()) {solutionFound=true; stop=true;} + }//end while - if(maxExecutionTimeReached()) { stop=true;} - solutionFound = (guaranteeXgoodDescriptions() ); - solutionFound = (minExecutionTimeReached()&& solutionFound); + // Suchbaum in Datei schreiben // if(writeSearchTree) // Files.createFile(searchTreeFile, searchTree); @@ -542,18 +558,23 @@ if(solutionFound) { logger.info("\nsolutions:"); + int show=1; for(Description c : solutions) { - logger.info(" " + c.toString(baseURI,null) + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); + logger.info(show+": " +c.toString(baseURI,null) + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); //TODO remove this line maybe // watch for String.replace Quick hack - logger.info(" MANCHESTER: " + + logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()). replace("\"", "")); - logger.info(" KBSyntax: " + c.toKBSyntaxString()); + logger.info(" KBSyntax: " + c.toKBSyntaxString()); + if(show>=5){break;} + show++; } } logger.info(" horizontal expansion: " + minimumHorizontalExpansion + " to " + maximumHorizontalExpansion); logger.info(" size of candidate set: " + candidates.size()); + //logger.trace("test"); + //logger.trace(solutions.size()); printBestSolutions(0); printStatistics(true); @@ -1018,13 +1039,13 @@ } public void printBestSolutions(int nrOfSolutions){ - if(!logLevel.equalsIgnoreCase("TRACE"))return; + if(!logLevel.equalsIgnoreCase("TRACE")){return;} if(nrOfSolutions==0)nrOfSolutions=solutions.size(); int i=0; - for(;i==nrOfSolutions; i++) { + for(;i<nrOfSolutions; i++) { Description d = solutions.get(i); logger.trace(" " + d.toString(baseURI,null) + " (length " + d.getLength() + " " + - ""+getSolutionScore(d) ); + "" ); } } Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-04-23 09:28:15 UTC (rev 819) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-04-23 12:42:53 UTC (rev 820) @@ -35,6 +35,7 @@ import java.util.TreeSet; import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.FileAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.SimpleLayout; @@ -117,8 +118,13 @@ // its messages to the console) SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); - logger.removeAllAppenders(); + FileAppender fileAppender =null; ; + try{ + fileAppender = new FileAppender(layout,"the_log.txt",false); + }catch (Exception e) {e.printStackTrace();} + logger.removeAllAppenders(); logger.addAppender(consoleAppender); + logger.addAppender(fileAppender); logger.setLevel(Level.DEBUG); Start start = null; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java 2008-04-23 09:28:15 UTC (rev 819) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java 2008-04-23 12:42:53 UTC (rev 820) @@ -128,10 +128,10 @@ configuration); if (this.configuration.isCloseAfterRecursion()) { while (instances.size() > 0) { - logger.info("Getting classes for remaining instances: " + logger.trace("Getting classes for remaining instances: " + instances.size()); Node next = instances.remove(0); - logger.info("Getting classes for: " + next); + logger.trace("Getting classes for: " + next); classes.addAll(next.expand(tsqc, manipulator)); if (classes.size() >= manipulator.breakSuperClassRetrievalAfter) { break; @@ -141,14 +141,14 @@ Vector<Node> tmp = new Vector<Node>(); int i = 0; while (classes.size() > 0) { - logger.info("Remaining classes: " + classes.size()); + logger.trace("Remaining classes: " + classes.size()); // Iterator<Node> it=classes.iterator(); // Node next =(Node) it.next(); // classes.remove(next); Node next = classes.remove(0); if (!hadAlready.contains(next.getURI().toString())) { - logger.info("Expanding: " + next); + logger.trace("Getting SuperClass for: " + next); // System.out.println(hadAlready.size()); hadAlready.add(next.getURI().toString()); tmp = next.expand(typedSparqlQuery, manipulator); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java 2008-04-23 09:28:15 UTC (rev 819) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java 2008-04-23 12:42:53 UTC (rev 820) @@ -78,7 +78,7 @@ @Override public String toString() { - return "Node: " + uri + ":" + this.getClass(); + return "Node: " + uri + ":" + this.getClass().getSimpleName(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |