From: <lor...@us...> - 2014-02-17 13:55:51
|
Revision: 4228 http://sourceforge.net/p/dl-learner/code/4228 Author: lorenz_b Date: 2014-02-17 13:55:46 +0000 (Mon, 17 Feb 2014) Log Message: ----------- Optimized frequency cache creation. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/syntactic/SolrSyntacticIndex.java trunk/components-core/src/test/java/org/dllearner/algorithms/isle/DBpediaExperiment.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/syntactic/SolrSyntacticIndex.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/syntactic/SolrSyntacticIndex.java 2014-02-17 12:43:55 UTC (rev 4227) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/syntactic/SolrSyntacticIndex.java 2014-02-17 13:55:46 UTC (rev 4228) @@ -99,38 +99,41 @@ final Map<Set<Entity>, Long> frequencyCache = Collections.synchronizedMap(new HashMap<Set<Entity>, Long>()); - - for (final NamedClass cls : classes) { + //fA resp. fB + final Set<Entity> otherEntities = OWLAPIConverter.getEntities(owlEntities); + otherEntities.addAll(classes); + for (final Entity entity : otherEntities) { + logger.info(entity); executor.submit(new Runnable() { @Override public void run() { - Set<Entity> entities; - logger.info(cls); - Set<Entity> otherEntities = OWLAPIConverter.getEntities(owlEntities); - otherEntities.remove(cls); - //fA - long fA = getNumberOfDocumentsFor(cls); - entities = new HashSet<>(); - entities.add(cls); - frequencyCache.put(entities, fA); - for (Entity entity : otherEntities) { - //fB - long fB = getNumberOfDocumentsFor(entity); - entities = new HashSet<>(); - entities.add(entity); - frequencyCache.put(entities, fB); - //fAB - long fAB = getNumberOfDocumentsFor(cls, entity); - entities = new HashSet<>(); - entities.add(cls); - entities.add(entity); - frequencyCache.put(entities, fAB); - - } + Set<Entity> entities = new HashSet<>(); + entities.add(entity); + long f = getNumberOfDocumentsFor(entity); + frequencyCache.put(entities, f); } }); } + //fAB + for (final NamedClass cls : classes) { + logger.info(cls); + for (final Entity entity : otherEntities) { + if(!cls.equals(entity)){ + executor.submit(new Runnable() { + + @Override + public void run() { + Set<Entity> entities = new HashSet<>(); + entities.add(cls); + entities.add(entity); + long fAB = getNumberOfDocumentsFor(cls, entity); + frequencyCache.put(entities, fAB); + } + }); + } + } + } executor.shutdown(); try { executor.awaitTermination(10, TimeUnit.DAYS); @@ -139,7 +142,7 @@ } logger.info("Cache size: " + frequencyCache.size()); try { - ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("frequencies.obj")); + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("entity_frequencies.obj")); oos.writeObject(frequencyCache); oos.close(); } catch (FileNotFoundException e) { Modified: trunk/components-core/src/test/java/org/dllearner/algorithms/isle/DBpediaExperiment.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/algorithms/isle/DBpediaExperiment.java 2014-02-17 12:43:55 UTC (rev 4227) +++ trunk/components-core/src/test/java/org/dllearner/algorithms/isle/DBpediaExperiment.java 2014-02-17 13:55:46 UTC (rev 4228) @@ -602,7 +602,6 @@ "OPTIONAL{?x ?p ?o1. " + "FILTER NOT EXISTS{?x a <" + cls.getName() + ">.}}} " + "GROUP BY ?p ORDER BY DESC(?cnt)", Syntax.syntaxARQ); - System.out.println(query); System.out.println(ResultSetFormatter.asText(QueryExecutionFactory.create(query, model).execSelect())); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |