From: <ku...@us...> - 2008-05-15 00:23:32
|
Revision: 848 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=848&view=rev Author: kurzum Date: 2008-05-14 17:23:29 -0700 (Wed, 14 May 2008) Log Message: ----------- evaluation Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java trunk/src/dl-learner/org/dllearner/test/JenaHTTPTest.java trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java trunk/src/dl-learner/org/dllearner/utilities/SetManipulation.java trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java trunk/src/dl-learner/org/dllearner/utilities/Statistics.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-05-15 00:23:29 UTC (rev 848) @@ -28,6 +28,7 @@ import org.dllearner.kb.sparql.configuration.SparqlEndpoint; import org.dllearner.kb.sparql.configuration.SparqlQueryType; import org.dllearner.kb.sparql.datastructure.Node; +import org.dllearner.utilities.Statistics; /** * An object of this class encapsulates everything. @@ -40,7 +41,8 @@ private Configuration configuration; private TypedSparqlQuery typedSparqlQuery; private ExtractionAlgorithm extractionAlgorithm; - + + public void useConfiguration(SparqlQueryType SparqlQueryType, SparqlEndpoint SparqlEndpoint, Manipulator manipulator, int recursiondepth, boolean getAllSuperClasses, @@ -98,6 +100,7 @@ * ret.remove(tmp); System.out.println(ret.size()); } /*for (String str : * ret) { nt += str + "\n"; } */ + Statistics.addTriples(ret.size()); return nt.toString(); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-05-15 00:23:29 UTC (rev 848) @@ -49,6 +49,7 @@ import org.dllearner.parser.KBParser; import org.dllearner.reasoning.DIGConverter; import org.dllearner.reasoning.JenaOWLDIGConverter; +import org.dllearner.utilities.SimpleClock; import org.dllearner.utilities.StringTuple; /** @@ -60,6 +61,9 @@ */ public class SparqlKnowledgeSource extends KnowledgeSource { + //statistic + public int numberOfTriples=0; + //DEFAULTS static int recursionDepthDefault = 1; @@ -268,6 +272,7 @@ @Override public void init() { logger.info("SparqlModul: Collecting Ontology"); + SimpleClock sc=new SimpleClock(); /* * TODO remove when Jena works SparqlOntologyCollector oc= // new * SparqlOntologyCollector(Datastructures.setToArray(instances), // @@ -316,6 +321,7 @@ String ont = ""; // the actual extraction is started here ont = m.extract(instances); + logger.info("Number of cached SPARQL queries: " + m.getConfiguration().numberOfCachedSparqlQueries); logger.info("Number of uncached SPARQL queries: " @@ -352,7 +358,7 @@ } catch (Exception e) { e.printStackTrace(); } - logger.info("SparqlModul: ****Finished"); + logger.info("SparqlModul: ****Finished " + sc.getAndSet("") ); } /* Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java 2008-05-15 00:23:29 UTC (rev 848) @@ -34,7 +34,7 @@ private Manipulator manipulator; // the following needs to be moved to // class extraction algorithm or manipulator - private int recursiondepth = 2; + private int recursiondepth; private boolean getAllSuperClasses = true; private boolean closeAfterRecursion = true; public int numberOfUncachedSparqlQueries = 0; Added: trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java 2008-05-15 00:23:29 UTC (rev 848) @@ -0,0 +1,144 @@ +package org.dllearner.scripts; + +import java.net.URLEncoder; +import java.util.SortedSet; +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; +import org.dllearner.kb.sparql.Cache; +import org.dllearner.kb.sparql.SparqlKnowledgeSource; +import org.dllearner.kb.sparql.SparqlQuery; +import org.dllearner.kb.sparql.configuration.SparqlEndpoint; +import org.dllearner.utilities.AutomaticExampleFinderRolesSPARQL; +import org.dllearner.utilities.AutomaticExampleFinderSPARQL; +import org.dllearner.utilities.ConfWriter; +import org.dllearner.utilities.JenaResultSetConvenience; +import org.dllearner.utilities.LearnSparql; +import org.dllearner.utilities.SetManipulation; +import org.dllearner.utilities.SimpleClock; +import org.dllearner.utilities.Statistics; + +import com.hp.hpl.jena.query.ResultSet; + +public class SPARQLExtractionEvaluation { + + static Cache c; + static SparqlEndpoint se; + private static Logger logger = Logger.getRootLogger(); + + //static String standardSettings=""; + //static String algorithm="refexamples"; + + //vars + static boolean useRelated = true; + static boolean useSuperClasses = true; + static boolean useParallelClasses = true; + static int poslimit = 10; + static int neglimit = 10; + + /** + * @param args + */ + public static void main(String[] args) { + init(); + //logger.setLevel(Level.TRACE); + logger.setLevel(Level.WARN); + Logger.getLogger(SparqlKnowledgeSource.class).setLevel(Level.WARN); + //System.out.println(Logger.getLogger(SparqlQuery.class).getLevel()); + SimpleClock sc=new SimpleClock(); + LocalDBpediaEvaluation(); + + sc.printAndSet("Finished"); + + } + + + static void LocalDBpediaEvaluation(){ + se = SparqlEndpoint.EndpointLOCALDBpedia(); + int number=1; + SortedSet<String> concepts = new TreeSet<String>(); + SortedSet<String> tmpSet=selectDBpediaConcepts(number); + + for (String string : tmpSet) { + concepts.add("\""+string+"\""); + } + + SortedSet<String> posExamples = new TreeSet<String>(); + SortedSet<String> negExamples = new TreeSet<String>(); + + String url = "http://139.18.2.37:8890/sparql"; + int recursiondepth=0; + boolean closeAfterRecursion=false; + + for(int i=0;i<8;i++) { + if(i==0){;} + else if(closeAfterRecursion) { + closeAfterRecursion=false; + recursiondepth++; + } + else { + closeAfterRecursion=true; + } + Statistics.setCurrentLabel(recursiondepth+""+((closeAfterRecursion)?"+":"")); + + + for (String oneConcept : concepts) { + AutomaticExampleFinderSPARQL ae= new AutomaticExampleFinderSPARQL( se); + + ae.initDBpedia(oneConcept, useRelated, useSuperClasses,useParallelClasses, poslimit, neglimit); + posExamples = ae.getPosExamples(); + negExamples = ae.getNegExamples(); + + + LearnSparql ls = new LearnSparql(); + TreeSet<String> igno = new TreeSet<String>(); + System.out.println(oneConcept); + + ls.learnDBpedia(posExamples, negExamples, url,igno,recursiondepth, closeAfterRecursion); + + + } + } + Statistics.print(number); + } + + + + public static void init() { + + SimpleLayout layout = new SimpleLayout(); + // create logger (a simple logger which outputs + // its messages to the console) + FileAppender fileAppender =null; ; + try{ + fileAppender = new FileAppender(layout,"the_log.txt",false); + }catch (Exception e) {e.printStackTrace();} + + ConsoleAppender consoleAppender = new ConsoleAppender(layout); + logger.removeAllAppenders(); + logger.addAppender(consoleAppender); + logger.addAppender(fileAppender); + + c = new Cache(); + + + } + + public static SortedSet<String> selectDBpediaConcepts(int number){ + String query = "SELECT DISTINCT ?concept WHERE { \n" + + "[] a ?concept .FILTER (regex(str(?concept),'yago'))" + + " \n} LIMIT "+1000+" \n"; // + + String JSON = (c.executeSparqlQuery(new SparqlQuery(query, se))); + ResultSet rs =SparqlQuery.JSONtoResultSet(JSON); + JenaResultSetConvenience rsc = new JenaResultSetConvenience(rs); + return SetManipulation.fuzzyShrink(rsc.getStringListForVariable("concept"),number); + } + + + +} Modified: trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java 2008-05-15 00:23:29 UTC (rev 848) @@ -1,7 +1,6 @@ package org.dllearner.scripts; import java.net.URLEncoder; -import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -21,6 +20,7 @@ import org.dllearner.utilities.LearnSparql; import org.dllearner.utilities.SetManipulation; import org.dllearner.utilities.SimpleClock; +import org.dllearner.utilities.Statistics; import com.hp.hpl.jena.query.ResultSet; @@ -159,6 +159,10 @@ concepts.remove(concepts.first()); concepts.remove(concepts.first()); concepts.remove(concepts.first()); + concepts.remove(concepts.first()); + concepts.remove(concepts.first()); + concepts.remove(concepts.first()); + //concepts.remove(concepts.first()); //concepts.add("(\"http://dbpedia.org/class/yago/HeadOfState110164747\" AND (\"http://dbpedia.org/class/yago/Negotiator110351874\" AND \"http://dbpedia.org/class/yago/Representative110522035\"))"); //concepts.add("\"http://dbpedia.org/class/yago/Person100007846\""); //concepts.add("\"http://dbpedia.org/class/yago/FieldMarshal110086821\""); @@ -174,46 +178,51 @@ //HashMap<String, String> result2 = new HashMap<String, String>(); //System.out.println(concepts.first()); //logger.setLevel(Level.TRACE); + String concept=concepts.first(); int i=0; + Statistics.setCurrentLabel("0"); + int recursiondepth=0; + boolean closeAfterRecursion=false; + int numberOfTriples = 0; for (String oneConcept : concepts) { - if(i>=3)break; - i++; - AutomaticExampleFinderSPARQL ae= new AutomaticExampleFinderSPARQL( se); + AutomaticExampleFinderSPARQL ae= new AutomaticExampleFinderSPARQL( se); useRelated = true; useSuperClasses = true; - useParallelClasses = true; - poslimit=2; - neglimit=2; - ae.initDBpedia(oneConcept, useRelated, useSuperClasses,useParallelClasses, poslimit, neglimit); + useParallelClasses = false; + + poslimit=10; + neglimit=10; + ae.initDBpedia(concept, useRelated, useSuperClasses,useParallelClasses, poslimit, neglimit); posExamples = ae.getPosExamples(); negExamples = ae.getNegExamples(); + - // System.out.println(posExamples); - // System.out.println(negExamples); - - String tmp = concepts.first().replace("http://dbpedia.org/resource/Category:", "").replace("\"",""); + /*String tmp = concepts.first().replace("http://dbpedia.org/resource/Category:", "").replace("\"",""); tmp = tmp.replace("http://dbpedia.org/class/yago/", ""); tmp = tmp.replace("http://dbpedia.org/property/", ""); String confname = ""; try{ confname = URLEncoder.encode(tmp, "UTF-8")+".conf"; - }catch (Exception e) {e.printStackTrace();} + }catch (Exception e) {e.printStackTrace();}*/ // //ConfWriter cf=new ConfWriter(); //cf.addToStats("relearned concept: "+concepts.first()); - System.out.println(confname); + //System.out.println(confname); LearnSparql ls = new LearnSparql(); TreeSet<String> igno = new TreeSet<String>(); System.out.println(oneConcept); //igno.add(oneConcept.replaceAll("\"", "")); - ls.learnDBpedia(posExamples, negExamples, url,igno,1); - System.out.println("AAAAAAAA"); + + ls.learnDBpedia(posExamples, negExamples, url,igno,recursiondepth, closeAfterRecursion); + + //System.out.println("AAAAAAAA"); //System.exit(0); //"relearned concept: "; //cf.writeSPARQL(confname, posExamples, negExamples, url, new TreeSet<String>(),standardSettings,algorithm); // } + //Statistics.print(); } @@ -272,7 +281,7 @@ public static SortedSet<String> selectDBpediaConcepts(int number){ String query = "SELECT DISTINCT ?concept WHERE { \n" + "[] a ?concept .FILTER (regex(str(?concept),'yago'))" + - " \n} LIMIT "+number+" \n"; + " \n} \n"; //LIMIT "+number+" String JSON = (c.executeSparqlQuery(new SparqlQuery(query, se))); ResultSet rs =SparqlQuery.JSONtoResultSet(JSON); Modified: trunk/src/dl-learner/org/dllearner/test/JenaHTTPTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/JenaHTTPTest.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/test/JenaHTTPTest.java 2008-05-15 00:23:29 UTC (rev 848) @@ -17,26 +17,34 @@ "WHERE { <http://dbpedia.org/resource/Leipzig> <http://www.w3.org/2000/01/rdf-schema#label> ?object}\n"; double time=0; - for (int i=0; i<101; i++) + /*for (int i=0; i<101; i++) { if (i!=0) time+=JenaHTTPTest.httpQuery(query); } time=time/100; System.out.println("Durchschnittliche Zeit f�r eine Anfrage per Http-Methode: "+time); - + */ time=0; for (int i=0; i<101; i++) { if (i!=0) time+=JenaHTTPTest.jenaQuery(query); } time=time/100; - System.out.println("Durchschnittliche Zeit f�r eine Anfrage per Jena-Methode: "+time); + System.out.println("Durchschnittliche Zeit f�r eine Anfrage DBpedia: "+time); + + time=0; + for (int i=0; i<101; i++) + { + if (i!=0) time+=JenaHTTPTest.jenaLocalQuery(query); + } + time=time/100; + System.out.println("Durchschnittliche Zeit f�r eine Anfrage per DBpedia LOCAL: "+time); } private static double jenaQuery(String query) { double start=System.currentTimeMillis(); - QueryEngineHTTP queryExecution=new QueryEngineHTTP("http://localhost:8890/sparql",query); + QueryEngineHTTP queryExecution=new QueryEngineHTTP("http://dbpedia.openlinksw.com:8890/sparql",query); queryExecution.addDefaultGraph("http://dbpedia.org"); // Jena access to DBpedia SPARQL endpoint // ResultSet rs = @@ -45,6 +53,18 @@ return ((end-start)/1000); } + private static double jenaLocalQuery(String query) + { + double start=System.currentTimeMillis(); + QueryEngineHTTP queryExecution=new QueryEngineHTTP("http://139.18.2.37:8890/sparql",query); + queryExecution.addDefaultGraph("http://dbpedia.org"); + // Jena access to DBpedia SPARQL endpoint + // ResultSet rs = + queryExecution.execSelect(); + double end=System.currentTimeMillis(); + return ((end-start)/1000); + } + private static double httpQuery(String query) throws Exception { char value[]={13,10}; Modified: trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java 2008-05-15 00:23:29 UTC (rev 848) @@ -21,6 +21,7 @@ private SparqlEndpoint se; private SortedSet<String> posExamples; private SortedSet<String> negExamples; + private int limit=2000; public AutomaticExampleFinderSPARQL(SparqlEndpoint se){ @@ -98,10 +99,10 @@ private void dbpediaMakePositiveExamplesFromConcept(String concept){ logger.debug("making Positive Examples from Concept: "+concept); if(concept.contains("http://dbpedia.org/resource/Category:")) { - this.posExamples = new JenaResultSetConvenience(dbpediaQuerySKOSConcept(concept,0)) + this.posExamples = new JenaResultSetConvenience(dbpediaQuerySKOSConcept(concept,limit)) .getStringListForVariable("subject"); }else { - this.posExamples = new JenaResultSetConvenience(queryConcept(concept,0)) + this.posExamples = new JenaResultSetConvenience(queryConcept(concept,limit)) .getStringListForVariable("subject"); } logger.debug(" pos Example size: "+posExamples.size()); @@ -195,8 +196,8 @@ logger.debug("making neg Examples from "+superClasses.size()+" superclasses"); JenaResultSetConvenience rsc; for (String oneSuperClass : superClasses) { - - rsc = new JenaResultSetConvenience(queryConcept("\""+oneSuperClass+"\"", 0)); + logger.debug(oneSuperClass); + rsc = new JenaResultSetConvenience(queryConcept("\""+oneSuperClass+"\"", limit)); this.negExamples.addAll(rsc.getStringListForVariable("subject")); } logger.debug(" neg Example size: "+negExamples.size()); @@ -223,8 +224,8 @@ } logger.debug("getting negExamples from "+classes.size()+" parallel classes"); for (String oneClass : classes) { - - rsc = new JenaResultSetConvenience(queryConcept("\""+oneClass+"\"",0)); + logger.debug(oneClass); + rsc = new JenaResultSetConvenience(queryConcept("\""+oneClass+"\"",limit)); this.negExamples.addAll(rsc.getStringListForVariable("subject")); } logger.debug("neg Example size: "+negExamples.size()); @@ -241,15 +242,17 @@ String query = ""; for (; depth != 0 ; depth--) { for (String oneSuperClass : superClasses) { - //logger.debug("one"+oneSuperClass); + //tmp = oneSuperClass.replace("\"", ""); query = "SELECT * WHERE { \n" + "<" + oneSuperClass + "> " + "<http://www.w3.org/2000/01/rdf-schema#subClassOf> ?superclass. \n" + "}"; + String JSON = (c.executeSparqlQuery(new SparqlQuery(query, se))); ResultSet rs =SparqlQuery.JSONtoResultSet(JSON); rsc = new JenaResultSetConvenience(rs); tmpset.addAll(rsc.getStringListForVariable("superclass")); + } ret.addAll(tmpset); //logger.debug(ret); Modified: trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java 2008-05-15 00:23:29 UTC (rev 848) @@ -18,11 +18,13 @@ import org.dllearner.reasoning.FastInstanceChecker; public class LearnSparql { - + public SimpleClock sc= new SimpleClock(); + + public void learnDBpedia(SortedSet<String> posExamples,SortedSet<String> negExamples, - String uri, SortedSet<String> ignoredConcepts, int recursiondepth){ + String uri, SortedSet<String> ignoredConcepts, int recursiondepth, boolean closeAfterRecursion){ ComponentManager cm = ComponentManager.getInstance(); @@ -41,12 +43,16 @@ cm.applyConfigEntry(ks, "instances",instances); cm.applyConfigEntry(ks, "url",uri); cm.applyConfigEntry(ks, "recursionDepth",recursiondepth); + cm.applyConfigEntry(ks, "closeAfterRecursion",closeAfterRecursion); cm.applyConfigEntry(ks, "predefinedFilter","YAGOSKOS"); cm.applyConfigEntry(ks, "predefinedEndpoint","DBPEDIA"); //cm.applyConfigEntry(ks, "format","KB"); + sc.setTime(); ks.init(); + Statistics.addTimeCollecting(sc.getTime()); sources.add(ks); + if (true)return; //System.out.println(ks.getNTripleURL()); // @@ -83,6 +89,7 @@ System.out.println("start learning"); la.start(); + //System.out.println("best"+la(20)); //((ExampleBasedROLComponent)la).printBestSolutions(10000); Modified: trunk/src/dl-learner/org/dllearner/utilities/SetManipulation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/SetManipulation.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/utilities/SetManipulation.java 2008-05-15 00:23:29 UTC (rev 848) @@ -17,6 +17,7 @@ * @return */ public static SortedSet<String> fuzzyShrink(SortedSet<String> set, int limit) { + if (set.size()<=limit)return set; SortedSet<String> ret = new TreeSet<String>(); Random r = new Random(); double treshold = ((double)limit)/set.size(); @@ -24,6 +25,7 @@ //System.out.println("treshold"+allRetrieved.size()); //System.out.println("treshold"+treshold); + while(ret.size()< limit){ for (String oneInd : set) { if(r.nextDouble()<treshold) { Modified: trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java 2008-05-14 16:15:43 UTC (rev 847) +++ trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java 2008-05-15 00:23:29 UTC (rev 848) @@ -20,9 +20,9 @@ * and resets the clock */ public void printAndSet() { - long now=System.currentTimeMillis(); - System.out.println("needed "+(now-time)+" ms"); - time=now; + + System.out.println("needed "+getTime()+" ms"); + setTime(); } @@ -32,15 +32,15 @@ * @param s String for printing */ public void printAndSet(String s) { - long now=System.currentTimeMillis(); - System.out.println(s+" needed "+(now-time)+" ms"); - time=now; + + System.out.println(s+" needed "+getTime()+" ms"); + setTime(); } public String getAndSet(String s) { - long now=System.currentTimeMillis(); - String ret = s+" needed "+(now-time)+" ms"; - time=now; + + String ret = s+" needed "+getTime()+" ms"; + setTime(); return ret; } @@ -52,13 +52,17 @@ * @param s String for printing */ public void print(String s) { - long now=System.currentTimeMillis(); - System.out.println(s+" needed "+(now-time)+" ms"); + System.out.println(s+" needed "+getTime()+" ms"); + } public void setTime() { time=System.currentTimeMillis(); } + public long getTime() { + long now=System.currentTimeMillis(); + return now-time; + } } Added: trunk/src/dl-learner/org/dllearner/utilities/Statistics.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/Statistics.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/Statistics.java 2008-05-15 00:23:29 UTC (rev 848) @@ -0,0 +1,68 @@ +package org.dllearner.utilities; + + +import java.util.HashMap; +import java.util.TreeSet; + + +public class Statistics { + + private static String currentLabel=""; + private static HashMap<String, Integer> numberOfTriples = new HashMap<String, Integer>(); + private static HashMap<String, Long> timeCollecting = new HashMap<String, Long>(); + + + public static void addTriples(int value) { + Integer current = numberOfTriples.get(currentLabel); + if(current==null) + numberOfTriples.put(currentLabel, new Integer(0)); + else { + numberOfTriples.put(currentLabel, new Integer(current.intValue()+value)); + } + + } + + public static void addTimeCollecting(long value) { + Long current = timeCollecting.get(currentLabel); + if(current==null) + timeCollecting.put(currentLabel, new Long(0)); + else { + timeCollecting.put(currentLabel, new Long(current.longValue()+value)); + } + } + + public static void print(int number){ + System.out.println(numberOfTriples); + TreeSet<String> s=new TreeSet<String>(); + for (String label : numberOfTriples.keySet()) { + s.add(label+"|"+numberOfTriples.get(label)); + System.out.println(label+"|"+numberOfTriples.get(label)); + System.out.println(label+"|"+ (numberOfTriples.get(label).intValue()/number)); + + } + System.out.println(s); + + System.out.println("*****************TIME"); + for (String label : timeCollecting.keySet()) { + System.out.println(label+"|"+timeCollecting.get(label)); + System.out.println(label+"|"+ (timeCollecting.get(label).intValue()/number)); + } + + + } + + public static void setCurrentLabel(String label) { + currentLabel=label; + } + + + //stats + + + + + + + + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |