From: <lor...@us...> - 2013-09-04 08:25:58
|
Revision: 4046 http://sourceforge.net/p/dl-learner/code/4046 Author: lorenz_b Date: 2013-09-04 08:25:56 +0000 (Wed, 04 Sep 2013) Log Message: ----------- Added test. Modified Paths: -------------- trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java Modified: trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java 2013-09-04 08:10:22 UTC (rev 4045) +++ trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java 2013-09-04 08:25:56 UTC (rev 4046) @@ -3,7 +3,14 @@ */ package org.dllearner.algorithms.isle; -import com.google.common.base.Joiner; +import java.io.File; +import java.io.IOException; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.dllearner.algorithms.isle.index.AnnotatedDocument; +import org.dllearner.algorithms.isle.index.TextDocument; import org.dllearner.algorithms.isle.index.semantic.SemanticIndex; import org.dllearner.algorithms.isle.index.semantic.simple.SimpleSemanticIndex; import org.dllearner.algorithms.isle.index.syntactic.OWLOntologyLuceneSyntacticIndexCreator; @@ -26,10 +33,12 @@ import org.semanticweb.owlapi.model.OWLDataFactory; import org.semanticweb.owlapi.model.OWLOntology; import org.semanticweb.owlapi.model.OWLOntologyManager; + import uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryImpl; -import java.io.File; -import java.util.Map; +import com.google.common.base.Charsets; +import com.google.common.base.Joiner; +import com.google.common.io.Files; /** * @author Lorenz Buehmann @@ -44,6 +53,8 @@ private EntityTextRetriever textRetriever; private RelevanceMetric relevance; private String searchField = "label"; + private SemanticIndex semanticIndex; + private SyntacticIndex syntacticIndex; /** * @@ -53,10 +64,26 @@ ontology = manager.loadOntologyFromOntologyDocument(new File("../examples/isle/father_labeled.owl")); cls = new NamedClass("http://example.com/father#father"); textRetriever = new RDFSLabelEntityTextRetriever(ontology); - SyntacticIndex syntacticIndex = new OWLOntologyLuceneSyntacticIndexCreator(ontology, df.getRDFSLabel(), searchField).buildIndex(); - SemanticIndex semanticIndex = new SimpleSemanticIndex(ontology, syntacticIndex); - relevance = new PMIRelevanceMetric(semanticIndex); + syntacticIndex = new OWLOntologyLuceneSyntacticIndexCreator(ontology, df.getRDFSLabel(), searchField).buildIndex(); + + } + + private Set<TextDocument> createDocuments(){ + Set<TextDocument> documents = new HashSet<TextDocument>(); + File folder = new File("../test/isle/father/corpus"); + for (File file : folder.listFiles()) { + try { + String text = Files.toString(file, Charsets.UTF_8); + documents.add(new TextDocument(text)); + } catch (IOException e) { + e.printStackTrace(); + } + } + return documents; + } + + /** * @throws java.lang.Exception @@ -66,14 +93,14 @@ } - @Test +// @Test public void testTextRetrieval() { System.out.println("Text for entity " + cls + ":"); Map<String, Double> relevantText = textRetriever.getRelevantText(cls); System.out.println(Joiner.on("\n").join(relevantText.entrySet())); } - @Test +// @Test public void testEntityRelevance() throws Exception { System.out.println("Relevant entities for entity " + cls + ":"); Map<Entity, Double> entityRelevance = RelevanceUtils.getRelevantEntities(cls, ontology, relevance); @@ -81,6 +108,22 @@ } @Test + public void testSemanticIndexAnnotationProperty(){ + semanticIndex = new SimpleSemanticIndex(ontology, syntacticIndex); + semanticIndex.buildIndex(df.getRDFSLabel(), null); + Set<AnnotatedDocument> documents = semanticIndex.getDocuments(new NamedClass("http://example.com/father#father")); + System.out.println(documents); + } + + @Test + public void testSemanticIndexCorpus(){ + semanticIndex = new SimpleSemanticIndex(ontology, syntacticIndex); + semanticIndex.buildIndex(createDocuments()); + Set<AnnotatedDocument> documents = semanticIndex.getDocuments(new NamedClass("http://example.com/father#father")); + System.out.println(documents); + } + + @Test public void testISLE() throws Exception { KnowledgeSource ks = new OWLAPIOntology(ontology); AbstractReasonerComponent reasoner = new FastInstanceChecker(ks); @@ -90,6 +133,11 @@ lp.setClassToDescribe(cls); lp.init(); + semanticIndex = new SimpleSemanticIndex(ontology, syntacticIndex); + semanticIndex.buildIndex(createDocuments()); + + relevance = new PMIRelevanceMetric(semanticIndex); + Map<Entity, Double> entityRelevance = RelevanceUtils.getRelevantEntities(cls, ontology, relevance); NLPHeuristic heuristic = new NLPHeuristic(entityRelevance); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |