From: <and...@us...> - 2013-09-04 15:58:25
|
Revision: 4069 http://sourceforge.net/p/dl-learner/code/4069 Author: andremelo Date: 2013-09-04 15:58:20 +0000 (Wed, 04 Sep 2013) Log Message: ----------- Adding the buildTrie method Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java 2013-09-04 15:39:08 UTC (rev 4068) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java 2013-09-04 15:58:20 UTC (rev 4069) @@ -1,23 +1,43 @@ package org.dllearner.algorithms.isle.index; import java.util.HashSet; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import org.dllearner.algorithms.isle.textretrieval.AnnotationEntityTextRetriever; +import org.dllearner.algorithms.isle.textretrieval.EntityTextRetriever; import org.dllearner.core.owl.Entity; import org.dllearner.utilities.datastructures.PrefixTrie; +import org.semanticweb.owlapi.model.OWLEntity; import org.semanticweb.owlapi.model.OWLOntology; public class SimpleEntityCandidatesTrie implements EntityCandidatesTrie { PrefixTrie<Set<Entity>> trie; - OWLOntology ontology; + EntityTextRetriever entityTextRetriever; - public SimpleEntityCandidatesTrie(OWLOntology ontology) { - this.ontology = ontology; + public SimpleEntityCandidatesTrie(EntityTextRetriever entityTextRetriever) { + this.entityTextRetriever = entityTextRetriever; this.trie = new PrefixTrie<Set<Entity>>(); } + public void buildTrie(OWLOntology ontology) { + Map<Entity, Set<String>> relevantText = entityTextRetriever.getRelevantText(ontology); + + for (Entity entity : relevantText.keySet()) { + for (String text : relevantText.get(entity)) { + addEntry(text, entity); + // Adds also composing words, e.g. for "has child", "has" and "child" are also added + if (text.contains(" ")) { + for (String subtext : text.split(" ")) { + addEntry(subtext, entity); + } + } + } + } + } + @Override public void addEntry(String s, Entity e) { Set<Entity> candidates = trie.get(s); @@ -25,12 +45,13 @@ candidates = new HashSet<Entity>(); candidates.add(e); + + trie.put(s, candidates); } @Override public Set<Entity> getCandidateEntities(String s) { - // TODO Auto-generated method stub - return null; + return trie.get(s); } @Override @@ -38,12 +59,4 @@ return trie.getLongestMatch(s).toString(); } - /** - * @param args - */ - public static void main(String[] args) { - // TODO Auto-generated method stub - - } - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |