From: <ku...@us...> - 2008-05-15 14:04:54
|
Revision: 849 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=849&view=rev Author: kurzum Date: 2008-05-15 07:04:50 -0700 (Thu, 15 May 2008) Log Message: ----------- intermediate Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/Info.java trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 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/SparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderRolesSPARQL.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/Statistics.java Modified: trunk/src/dl-learner/org/dllearner/Info.java =================================================================== --- trunk/src/dl-learner/org/dllearner/Info.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/Info.java 2008-05-15 14:04:50 UTC (rev 849) @@ -3,6 +3,6 @@ package org.dllearner; public class Info { - public static final String build = "2008-04-23"; + public static final String build = "2008-05-15"; } \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-05-15 14:04:50 UTC (rev 849) @@ -31,6 +31,8 @@ import java.util.LinkedList; import org.apache.log4j.Logger; +import org.dllearner.utilities.SimpleClock; +import org.dllearner.utilities.Statistics; /** * SPARQL query cache to avoid possibly expensive multiple queries. The queries @@ -75,9 +77,9 @@ /** * same ad Cache(String) default is "cache" */ - public Cache() { + /*public Cache() { this("cache"); - } + } */ /** * Constructor for the cache itself. @@ -86,6 +88,7 @@ * Where the base path to the cache is . */ public Cache(String cacheDir) { + this.cacheDir = cacheDir + File.separator; if (!new File(cacheDir).exists()) { logger @@ -218,12 +221,18 @@ * @return Jena result set. */ public String executeSparqlQuery(SparqlQuery query) { + + Statistics.increaseQuery(); String result = getCacheEntry(query.getQueryString()); if (result != null) { logger.trace("got from cache"); + + Statistics.increaseCachedQuery(); return result; } else { + //SimpleClock sc = new SimpleClock(); query.send(); + //sc.printAndSet("query"); String json = query.getResult(); if (json!=null){ addToCache(query.getQueryString(), json); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-05-15 14:04:50 UTC (rev 849) @@ -46,11 +46,11 @@ public void useConfiguration(SparqlQueryType SparqlQueryType, SparqlEndpoint SparqlEndpoint, Manipulator manipulator, int recursiondepth, boolean getAllSuperClasses, - boolean closeAfterRecursion) { + boolean closeAfterRecursion, String cacheDir) { this.configuration = new Configuration(SparqlEndpoint, SparqlQueryType, manipulator, recursiondepth, getAllSuperClasses, - closeAfterRecursion); + closeAfterRecursion, cacheDir); //System.out.println(this.configuration); this.typedSparqlQuery = new TypedSparqlQuery(configuration); this.extractionAlgorithm = new ExtractionAlgorithm(configuration); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-05-15 14:04:50 UTC (rev 849) @@ -61,8 +61,6 @@ */ public class SparqlKnowledgeSource extends KnowledgeSource { - //statistic - public int numberOfTriples=0; //DEFAULTS static int recursionDepthDefault = 1; @@ -85,6 +83,7 @@ private boolean closeAfterRecursion = true; private int breakSuperClassRetrievalAfter = 200; private String blankNodeIdentifier = "bnode"; + private String cacheDir = "cache"; // private boolean learnDomain = false; // private boolean learnRange = false; // private int numberOfInstancesUsedForRoleLearning = 40; @@ -124,6 +123,8 @@ public static Collection<ConfigOption<?>> createConfigOptions() { Collection<ConfigOption<?>> options = new LinkedList<ConfigOption<?>>(); options.add(new StringConfigOption("url", "URL of SPARQL Endpoint")); + options.add(new StringConfigOption("cacheDir", "dir of cache")); + // options.add(new StringConfigOption("host", "host of SPARQL // Endpoint")); options @@ -205,6 +206,8 @@ // host = (String) entry.getValue(); } else if (option.equals("instances")) { instances = (Set<String>) entry.getValue(); + }else if (option.equals("cacheDir")) { + cacheDir = (String) entry.getValue(); } else if (option.equals("recursionDepth")) { recursionDepth = (Integer) entry.getValue(); } else if (option.equals("predList")) { @@ -315,18 +318,21 @@ } // give everything to the manager m.useConfiguration(sparqlQueryType, endpoint, manipulator, - recursionDepth, getAllSuperClasses, closeAfterRecursion); + recursionDepth, getAllSuperClasses, closeAfterRecursion, cacheDir); + try { String ont = ""; // the actual extraction is started here + SimpleClock sc2=new SimpleClock(); + sc2.setTime(); ont = m.extract(instances); - - logger.info("Number of cached SPARQL queries: " + sc2.printAndSet("extraction needed"); + /*logger.info("Number of cached SPARQL queries: " + m.getConfiguration().numberOfCachedSparqlQueries); logger.info("Number of uncached SPARQL queries: " + m.getConfiguration().numberOfUncachedSparqlQueries); - +*/ logger.info("Finished collecting Fragment"); if (dumpToFile) { @@ -404,7 +410,8 @@ } public SparqlQueryThreaded sparqlQueryThreaded(String query){ - return new SparqlQueryThreaded(new Cache("cache"),this.sparqlQuery(query)); + //RBC + return new SparqlQueryThreaded(new Cache("cachet2"),this.sparqlQuery(query)); } /* (non-Javadoc) Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-05-15 14:04:50 UTC (rev 849) @@ -25,6 +25,7 @@ import org.apache.log4j.Logger; import org.dllearner.kb.sparql.configuration.SparqlEndpoint; +import org.dllearner.utilities.SimpleClock; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFactory; @@ -85,8 +86,9 @@ try{ //TODO remove after overnext Jena release HttpQuery.urlLimit = 3*1024 ; + //SimpleClock sc=new SimpleClock(); rs = queryExecution.execSelect(); - + //sc.printAndSet("rs to list"); logger.debug("query SPARQL server ["+extraDebugInfo+"], retrieved: "+rs.getResultVars()); json=SparqlQuery.getAsJSON(rs); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-05-15 14:04:50 UTC (rev 849) @@ -25,6 +25,7 @@ import java.util.Set; import org.dllearner.kb.sparql.configuration.Configuration; +import org.dllearner.utilities.SimpleClock; import org.dllearner.utilities.StringTuple; import com.hp.hpl.jena.query.ResultSet; @@ -52,7 +53,8 @@ this.configuration = Configuration; this.sparqlQueryMaker = new SparqlQueryMaker(Configuration .getSparqlQueryType()); - this.cache = new Cache("cache"); + + this.cache = new Cache(configuration.cacheDir); // this.sparqlQuery=new SparqlQuery(configuration.getSparqlEndpoint()); // this.cachedSparqlQuery=new // CachedSparqlQuery(this.sparqlQuery,this.cache); @@ -88,9 +90,12 @@ SparqlQuery query = new SparqlQuery(sparqlQueryString, configuration.getSparqlEndpoint()); query.extraDebugInfo=uri.toString(); - ResultSet rs = SparqlQuery.JSONtoResultSet(cache.executeSparqlQuery(query)); + String JSON = cache.executeSparqlQuery(query); + ResultSet rs = SparqlQuery.JSONtoResultSet(JSON); + List<ResultBinding> l = ResultSetFormatter.toList(rs); + p(l.toString()); for (ResultBinding resultBinding : l) { 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-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java 2008-05-15 14:04:50 UTC (rev 849) @@ -39,17 +39,19 @@ private boolean closeAfterRecursion = true; public int numberOfUncachedSparqlQueries = 0; public int numberOfCachedSparqlQueries = 0; + public String cacheDir="cache"; public Configuration(SparqlEndpoint specificSparqlEndpoint, SparqlQueryType sparqlQueryType, Manipulator manipulator, int recursiondepth, boolean getAllSuperClasses, - boolean closeAfterRecursion) { + boolean closeAfterRecursion, String cacheDir) { this.endpoint = specificSparqlEndpoint; this.sparqlQueryType = sparqlQueryType; this.manipulator = manipulator; this.recursiondepth = recursiondepth; this.getAllSuperClasses = getAllSuperClasses; this.closeAfterRecursion = closeAfterRecursion; + this.cacheDir=cacheDir; } @@ -57,7 +59,7 @@ // TODO must clone here return new Configuration(this.endpoint, sqt, this.manipulator, this.recursiondepth, this.getAllSuperClasses, - this.closeAfterRecursion); + this.closeAfterRecursion, this.cacheDir); } Modified: trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/scripts/SPARQLExtractionEvaluation.java 2008-05-15 14:04:50 UTC (rev 849) @@ -1,6 +1,5 @@ package org.dllearner.scripts; -import java.net.URLEncoder; import java.util.SortedSet; import java.util.TreeSet; @@ -13,9 +12,7 @@ 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; @@ -37,14 +34,16 @@ static boolean useRelated = true; static boolean useSuperClasses = true; static boolean useParallelClasses = true; - static int poslimit = 10; - static int neglimit = 10; + static int poslimit = 5; + static int neglimit = 5; + static boolean randomizeCache = false; /** * @param args */ public static void main(String[] args) { init(); + System.out.println("Start"); //logger.setLevel(Level.TRACE); logger.setLevel(Level.WARN); Logger.getLogger(SparqlKnowledgeSource.class).setLevel(Level.WARN); @@ -58,49 +57,71 @@ static void LocalDBpediaEvaluation(){ - se = SparqlEndpoint.EndpointLOCALDBpedia(); - int number=1; + boolean local=true; + String url=""; + if(local){ + se = SparqlEndpoint.EndpointLOCALDBpedia(); + + url = "http://139.18.2.37:8890/sparql"; + + }else{ + se = SparqlEndpoint.EndpointDBpedia(); + url= "http://dbpedia.openlinksw.com:8890/sparql"; + } + + SortedSet<String> concepts = new TreeSet<String>(); - SortedSet<String> tmpSet=selectDBpediaConcepts(number); - + SortedSet<String> tmpSet = new TreeSet<String>(); + //selectDBpediaConcepts(number); + tmpSet=initConcepts(); + int number=tmpSet.size(); + //concepts.add("\"http://dbpedia.org/class/yago/Flamethrower103356559\""); for (String string : tmpSet) { + //System.out.println("\""+string+"\","); 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) { + int recursiondepth=0; + boolean closeAfterRecursion=false; + System.out.println(oneConcept); + AutomaticExampleFinderSPARQL ae= new AutomaticExampleFinderSPARQL( se); - for (String oneConcept : concepts) { - AutomaticExampleFinderSPARQL ae= new AutomaticExampleFinderSPARQL( se); - - ae.initDBpedia(oneConcept, useRelated, useSuperClasses,useParallelClasses, poslimit, neglimit); - posExamples = ae.getPosExamples(); - negExamples = ae.getNegExamples(); + ae.initDBpedia(oneConcept, useRelated, useSuperClasses,useParallelClasses, poslimit, neglimit); + posExamples = ae.getPosExamples(); + negExamples = ae.getNegExamples(); + + for(int i=0;i<3;i++) { + if(i==0){;} + else if(closeAfterRecursion) { + closeAfterRecursion=false; + recursiondepth++; + } + else { + closeAfterRecursion=true; + } + Statistics.setCurrentLabel(recursiondepth+""+((closeAfterRecursion)?"+":"")); + Statistics.print(number); + + System.out.println("currently at label "+Statistics.getCurrentLabel()+"||i: "+i); + LearnSparql ls = new LearnSparql(); TreeSet<String> igno = new TreeSet<String>(); System.out.println(oneConcept); + + ls.learnDBpedia(posExamples, negExamples, url,igno,recursiondepth, closeAfterRecursion,randomizeCache); + - ls.learnDBpedia(posExamples, negExamples, url,igno,recursiondepth, closeAfterRecursion); - - } } Statistics.print(number); @@ -115,7 +136,7 @@ // its messages to the console) FileAppender fileAppender =null; ; try{ - fileAppender = new FileAppender(layout,"the_log.txt",false); + fileAppender = new FileAppender(layout,"log/sparqleval.txt",false); }catch (Exception e) {e.printStackTrace();} ConsoleAppender consoleAppender = new ConsoleAppender(layout); @@ -123,7 +144,7 @@ logger.addAppender(consoleAppender); logger.addAppender(fileAppender); - c = new Cache(); + c = new Cache("cachetemp"); } @@ -131,7 +152,7 @@ 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"; // + " \n} LIMIT "+4000+" \n "; // String JSON = (c.executeSparqlQuery(new SparqlQuery(query, se))); ResultSet rs =SparqlQuery.JSONtoResultSet(JSON); @@ -139,6 +160,32 @@ return SetManipulation.fuzzyShrink(rsc.getStringListForVariable("concept"),number); } + public static SortedSet<String> initConcepts(){ + SortedSet<String> concepts = new TreeSet<String>(); + concepts.add("http://dbpedia.org/class/yago/AirLane108492546"); + concepts.add("http://dbpedia.org/class/yago/AlphaBlocker102698769"); + //concepts.add("http://dbpedia.org/class/yago/Articulation107131854"); + /*concepts.add("http://dbpedia.org/class/yago/Caliphate108550766"); + concepts.add("http://dbpedia.org/class/yago/Ceremony107450842"); + concepts.add("http://dbpedia.org/class/yago/CookingOil107673145"); + concepts.add("http://dbpedia.org/class/yago/Corticosteroid114751417"); + concepts.add("http://dbpedia.org/class/yago/Curlew102033561"); + concepts.add("http://dbpedia.org/class/yago/DataStructure105728493"); + concepts.add("http://dbpedia.org/class/yago/Disappearance100053609"); + concepts.add("http://dbpedia.org/class/yago/Flintstone114871268"); + concepts.add("http://dbpedia.org/class/yago/Form105930736"); + concepts.add("http://dbpedia.org/class/yago/Hypochondriac110195487"); + concepts.add("http://dbpedia.org/class/yago/Industrialist110204177"); + concepts.add("http://dbpedia.org/class/yago/Lifeboat103662601"); + concepts.add("http://dbpedia.org/class/yago/Particulate114839439"); + concepts.add("http://dbpedia.org/class/yago/Reservation108587174"); + concepts.add("http://dbpedia.org/class/yago/Schoolteacher110560352"); + concepts.add("http://dbpedia.org/class/yago/Singer110599806"); + concepts.add("http://dbpedia.org/class/yago/SupremeCourt108336188"); + concepts.add("http://dbpedia.org/class/yago/AirLane108492546");*/ + return concepts; + } + } Modified: trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/scripts/SPARQLMassLearning.java 2008-05-15 14:04:50 UTC (rev 849) @@ -213,7 +213,7 @@ System.out.println(oneConcept); //igno.add(oneConcept.replaceAll("\"", "")); - ls.learnDBpedia(posExamples, negExamples, url,igno,recursiondepth, closeAfterRecursion); + ls.learnDBpedia(posExamples, negExamples, url,igno,recursiondepth, closeAfterRecursion,false); //System.out.println("AAAAAAAA"); //System.exit(0); @@ -273,7 +273,7 @@ logger.addAppender(consoleAppender); logger.addAppender(fileAppender); logger.setLevel(Level.DEBUG); - c = new Cache(); + c = new Cache("cachetemp"); } Modified: trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java 2008-05-15 14:04:50 UTC (rev 849) @@ -51,7 +51,7 @@ m.useConfiguration( SparqlQueryType.getFilterByName("DBPEDIA"),SparqlEndpoint.getEndpointByName("YAGO"), new Manipulator("",200,new LinkedList<StringTuple>(),new LinkedList<StringTuple>()), - 1,true,true); + 1,true,true,"cache"); //, , //manipulator, recursiondepth, getAllSuperClasses, closeAfterRecursion) Modified: trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderRolesSPARQL.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderRolesSPARQL.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderRolesSPARQL.java 2008-05-15 14:04:50 UTC (rev 849) @@ -24,7 +24,7 @@ public AutomaticExampleFinderRolesSPARQL(SparqlEndpoint se){ - this.c=new Cache(); + this.c=new Cache("cachetemp"); this.se=se; posExamples = new TreeSet<String>(); negExamples = new TreeSet<String>(); Modified: trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/utilities/AutomaticExampleFinderSPARQL.java 2008-05-15 14:04:50 UTC (rev 849) @@ -25,7 +25,7 @@ public AutomaticExampleFinderSPARQL(SparqlEndpoint se){ - this.c=new Cache(); + this.c=new Cache("cachetemp"); this.se=se; posExamples = new TreeSet<String>(); negExamples = new TreeSet<String>(); Modified: trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/utilities/LearnSparql.java 2008-05-15 14:04:50 UTC (rev 849) @@ -24,7 +24,8 @@ public void learnDBpedia(SortedSet<String> posExamples,SortedSet<String> negExamples, - String uri, SortedSet<String> ignoredConcepts, int recursiondepth, boolean closeAfterRecursion){ + String uri, SortedSet<String> ignoredConcepts, int recursiondepth, + boolean closeAfterRecursion, boolean randomizeCache){ ComponentManager cm = ComponentManager.getInstance(); @@ -44,8 +45,11 @@ cm.applyConfigEntry(ks, "url",uri); cm.applyConfigEntry(ks, "recursionDepth",recursiondepth); cm.applyConfigEntry(ks, "closeAfterRecursion",closeAfterRecursion); - cm.applyConfigEntry(ks, "predefinedFilter","YAGOSKOS"); + cm.applyConfigEntry(ks, "predefinedFilter","YAGO"); cm.applyConfigEntry(ks, "predefinedEndpoint","DBPEDIA"); + if(randomizeCache) + cm.applyConfigEntry(ks, "cacheDir","cache/"+System.currentTimeMillis()+""); + else {} //cm.applyConfigEntry(ks, "format","KB"); sc.setTime(); Modified: trunk/src/dl-learner/org/dllearner/utilities/Statistics.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/Statistics.java 2008-05-15 00:23:29 UTC (rev 848) +++ trunk/src/dl-learner/org/dllearner/utilities/Statistics.java 2008-05-15 14:04:50 UTC (rev 849) @@ -2,60 +2,132 @@ import java.util.HashMap; -import java.util.TreeSet; +import java.util.LinkedList; public class Statistics { private static String currentLabel=""; + private static LinkedList<String> order = new LinkedList<String>(); private static HashMap<String, Integer> numberOfTriples = new HashMap<String, Integer>(); private static HashMap<String, Long> timeCollecting = new HashMap<String, Long>(); + private static HashMap<String, Integer> numberOfSparqlQueries = new HashMap<String, Integer>(); + private static HashMap<String, Integer> numberOfCachedSparqlQueries = new HashMap<String, Integer>(); public static void addTriples(int value) { + Integer current = numberOfTriples.get(currentLabel); if(current==null) - numberOfTriples.put(currentLabel, new Integer(0)); + numberOfTriples.put(currentLabel, new Integer(value)); else { - numberOfTriples.put(currentLabel, new Integer(current.intValue()+value)); + 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)); + timeCollecting.put(currentLabel, new Long(value)); else { timeCollecting.put(currentLabel, new Long(current.longValue()+value)); } } + public static void increaseCachedQuery() { + Integer current = numberOfCachedSparqlQueries.get(currentLabel); + if(current==null) + numberOfCachedSparqlQueries.put(currentLabel, new Integer(1)); + else { + numberOfCachedSparqlQueries.put(currentLabel, new Integer(current.intValue()+1)); + } + } + + public static void increaseQuery() { + Integer current = numberOfSparqlQueries.get(currentLabel); + if(current==null) + numberOfSparqlQueries.put(currentLabel, new Integer(1)); + else { + numberOfSparqlQueries.put(currentLabel, new Integer(current.intValue()+1)); + } + } + + 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); - + printInt(numberOfTriples,"triples"); + printIntAVG(numberOfTriples,number,"triples avg"); + 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)); - } + printLong(timeCollecting); + printLongAVG(timeCollecting,number); + System.out.println("*****************Queries"); + printInt(numberOfCachedSparqlQueries,"cached queries"); + printInt(numberOfSparqlQueries,"total queries"); + + + + + + + + + + } + public static void printIntAVG(HashMap<String, Integer> hm, int number, String str){ + for (int i = 0; i < order.size(); i++) { + String label=order.get(i); + try { + System.out.println(str+" "+label+"|"+ (hm.get(label).intValue()/number)); + } catch (Exception e) { } + } + } + + public static void printInt(HashMap<String, Integer> hm, String str){ + for (int i = 0; i < order.size(); i++) { + String label=order.get(i); + try { + System.out.println(str+" "+label+"|"+hm.get(label)); + } catch (Exception e) { } + } + } + + public static void printLongAVG(HashMap<String, Long> hm, int number){ + for (int i = 0; i < order.size(); i++) { + String label=order.get(i); + try { + System.out.println("timeCollect avg "+label+"|"+ (hm.get(label).intValue()/number)); + } catch (Exception e) { } + } + } + + public static void printLong(HashMap<String, Long> hm){ + for (int i = 0; i < order.size(); i++) { + String label=order.get(i); + try { + System.out.println("timeCollect "+label+"|"+hm.get(label)); + } catch (Exception e) { } + } + } + + public static void setCurrentLabel(String label) { currentLabel=label; + if (!order.contains(label))order.add(label); } + public static String getCurrentLabel() { + return currentLabel; + } + //stats This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |