From: <lor...@us...> - 2011-12-05 09:42:22
|
Revision: 3471 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3471&view=rev Author: lorenz_b Date: 2011-12-05 09:42:14 +0000 (Mon, 05 Dec 2011) Log Message: ----------- Rewrote tests to work without ComponentManager. Modified Paths: -------------- trunk/components-core/src/test/java/org/dllearner/test/junit/ELDownTests.java trunk/components-core/src/test/java/org/dllearner/test/junit/HeuristicTests.java trunk/components-core/src/test/java/org/dllearner/test/junit/RefinementOperatorTests.java trunk/components-core/src/test/java/org/dllearner/test/junit/TestOntologies.java Modified: trunk/components-core/src/test/java/org/dllearner/test/junit/ELDownTests.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/test/junit/ELDownTests.java 2011-12-05 09:15:13 UTC (rev 3470) +++ trunk/components-core/src/test/java/org/dllearner/test/junit/ELDownTests.java 2011-12-05 09:42:14 UTC (rev 3471) @@ -24,6 +24,7 @@ import java.io.File; import java.io.IOException; import java.net.MalformedURLException; +import java.util.Collections; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -296,12 +297,10 @@ logger.removeAllAppenders(); logger.addAppender(app); - ComponentManager cm = ComponentManager.getInstance(); - AbstractKnowledgeSource source = cm.knowledgeSource(OWLFile.class); - String ont = "test/galen2.owl"; - cm.applyConfigEntry(source, "url", new File(ont).toURI().toURL()); + String ont = "../test/galen2.owl"; + AbstractKnowledgeSource source = new OWLFile(ont); source.init(); - AbstractReasonerComponent reasoner = cm.reasoner(OWLAPIReasoner.class, source); + AbstractReasonerComponent reasoner = new OWLAPIReasoner(Collections.singleton(source)); reasoner.init(); System.out.println("Galen loaded."); @@ -333,12 +332,10 @@ @Test public void asTest() throws ComponentInitException, MalformedURLException { - ComponentManager cm = ComponentManager.getInstance(); - AbstractKnowledgeSource source = cm.knowledgeSource(OWLFile.class); - String ont = "test/galen2.owl"; - cm.applyConfigEntry(source, "url", new File(ont).toURI().toURL()); + String ont = "../test/galen2.owl"; + AbstractKnowledgeSource source = new OWLFile(ont); source.init(); - AbstractReasonerComponent reasoner = cm.reasoner(OWLAPIReasoner.class, source); + AbstractReasonerComponent reasoner = new OWLAPIReasoner(Collections.singleton(source)); reasoner.init(); System.out.println("Galen loaded."); Modified: trunk/components-core/src/test/java/org/dllearner/test/junit/HeuristicTests.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/test/junit/HeuristicTests.java 2011-12-05 09:15:13 UTC (rev 3470) +++ trunk/components-core/src/test/java/org/dllearner/test/junit/HeuristicTests.java 2011-12-05 09:42:14 UTC (rev 3471) @@ -101,7 +101,6 @@ AbstractKnowledgeSource ks = new KBFile(kb); AbstractReasonerComponent reasoner = cm.reasoner(OWLAPIReasoner.class, ks); ClassLearningProblem problem = cm.learningProblem(ClassLearningProblem.class, reasoner); - ks.init(); reasoner.init(); //// equivalent classes, no noise, no approximations //// @@ -198,7 +197,6 @@ AbstractKnowledgeSource ks = new KBFile(kb); AbstractReasonerComponent reasoner = cm.reasoner(OWLAPIReasoner.class, ks); PosNegLPStandard problem = cm.learningProblem(PosNegLPStandard.class, reasoner); - ks.init(); reasoner.init(); Individual[] pos1 = new Individual[] {ind[0], ind[1], ind[2], ind[3], ind[4]}; Modified: trunk/components-core/src/test/java/org/dllearner/test/junit/RefinementOperatorTests.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/test/junit/RefinementOperatorTests.java 2011-12-05 09:15:13 UTC (rev 3470) +++ trunk/components-core/src/test/java/org/dllearner/test/junit/RefinementOperatorTests.java 2011-12-05 09:42:14 UTC (rev 3471) @@ -23,6 +23,7 @@ import java.io.File; import java.net.MalformedURLException; +import java.util.Collections; import java.util.Set; import java.util.TreeSet; @@ -69,19 +70,11 @@ @Test public void rhoDRDownTest() { try { - String file = "examples/carcinogenesis/carcinogenesis.owl"; - ComponentManager cm = ComponentManager.getInstance(); - AbstractKnowledgeSource ks = cm.knowledgeSource(OWLFile.class); - try { - cm.applyConfigEntry(ks, "url", new File(file).toURI().toURL()); - } catch (MalformedURLException e) { - // should never happen - e.printStackTrace(); - } - ks.init(); - AbstractReasonerComponent rc = cm.reasoner(OWLAPIReasoner.class, ks); - rc.init(); - baseURI = rc.getBaseURI(); + String file = "../examples/carcinogenesis/carcinogenesis.owl"; + AbstractKnowledgeSource ks = new OWLFile(file); + AbstractReasonerComponent reasoner = new OWLAPIReasoner(Collections.singleton(ks)); + reasoner.init(); + baseURI = reasoner.getBaseURI(); // ReasonerComponent rs = cm.reasoningService(rc); // TODO the following two lines should not be necessary @@ -89,7 +82,11 @@ // rs.prepareRoleHierarchy(); RhoDRDown op = new RhoDRDown(); - op.setReasoner(rc); + op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.init(); Description concept = KBParser.parseConcept(uri("Compound")); Set<Description> results = op.refine(concept, 4, null); @@ -110,12 +107,18 @@ } @Test - public void rhoDRDownTest2() throws ParseException { + public void rhoDRDownTest2() throws ParseException, ComponentInitException { AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.EPC_OE); + reasoner.init(); baseURI = reasoner.getBaseURI(); RhoDRDown op = new RhoDRDown(); op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.init(); + Description concept = KBParser.parseConcept("(\"http://localhost/aris/sap_model.owl#EPC\" AND EXISTS \"http://localhost/aris/sap_model.owl#hasModelElements\".\"http://localhost/aris/sap_model.owl#Object\")"); Set<Description> results = op.refine(concept,10); @@ -131,7 +134,7 @@ } @Test - public void rhoDRDownTest3() throws ParseException, LearningProblemUnsupportedException { + public void rhoDRDownTest3() throws ParseException, LearningProblemUnsupportedException, ComponentInitException { AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.KRK_ZERO_ONE); baseURI = reasoner.getBaseURI(); @@ -152,6 +155,10 @@ System.out.println(" UNIT TEST INCOMPLETE AFTER FRAMEWORK CHANGE, BECAUSE CLASS HIERARCHY IS NOT PASSED TO REFINEMENT OPERATOR "); RhoDRDown op = new RhoDRDown(); op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.init(); Description concept = KBParser.parseConcept("EXISTS \"http://www.test.de/test#hasPiece\".EXISTS \"http://www.test.de/test#hasLowerRankThan\".(\"http://www.test.de/test#WRook\" AND TOP)"); Set<Description> results = op.refine(concept,8); @@ -191,39 +198,59 @@ } @Test - public void rhoDRDownTest4() throws ParseException, LearningProblemUnsupportedException { - AbstractReasonerComponent rs = TestOntologies.getTestOntology(TestOntology.RHO1); - RefinementOperator operator = new RhoDRDown(); - ((RhoDRDown)operator).setReasoner(rs); + public void rhoDRDownTest4() throws ParseException, LearningProblemUnsupportedException, ComponentInitException { + AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.RHO1); + + RhoDRDown op = new RhoDRDown(); + op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.init(); + Description concept = KBParser.parseConcept("(car AND EXISTS hasOwner.person)"); // Description concept = Thing.instance; - Set<Description> refinements = operator.refine(concept, 6); + Set<Description> refinements = op.refine(concept, 6); for(Description refinement : refinements) { System.out.println(refinement); } } @Test - public void rhoDRDownTest5() throws ParseException, LearningProblemUnsupportedException { - AbstractReasonerComponent rs = TestOntologies.getTestOntology(TestOntology.SWORE); - RefinementOperator operator = new RhoDRDown(); - ((RhoDRDown)operator).setReasoner(rs); + public void rhoDRDownTest5() throws ParseException, LearningProblemUnsupportedException, ComponentInitException { + AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.SWORE); + reasoner.init(); + + RhoDRDown op = new RhoDRDown(); + op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.init(); + // Description concept = KBParser.parseConcept("((NOT \"http://ns.softwiki.de/req/Requirement\") OR (ALL \"http://ns.softwiki.de/req/isCreatedBy\".(NOT \"http://ns.softwiki.de/req/Creditor\")))"); Description concept = KBParser.parseConcept("(NOT \"http://ns.softwiki.de/req/Requirement\" OR ALL \"http://ns.softwiki.de/req/isCreatedBy\".NOT \"http://ns.softwiki.de/req/Creditor\")"); System.out.println(concept); - Set<Description> refinements = operator.refine(concept, 7); + Set<Description> refinements = op.refine(concept, 7); for(Description refinement : refinements) { System.out.println(refinement); } } @Test - public void invertedOperatorTest() throws ParseException { - AbstractReasonerComponent rs = TestOntologies.getTestOntology(TestOntology.RHO1); - RhoDRDown rho = new RhoDRDown(); - rho.setReasoner(rs); - rho.setDropDisjuncts(true); - RefinementOperator operator = new OperatorInverter(rho); + public void invertedOperatorTest() throws ParseException, ComponentInitException { + AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.RHO1); + reasoner.init(); + + RhoDRDown op = new RhoDRDown(); + op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.setDropDisjuncts(true); + op.init(); + + RefinementOperator operator = new OperatorInverter(op); Description concept = KBParser.parseConcept("(limo AND EXISTS hasOwner.man)"); Set<Description> refinements = operator.refine(concept, 6); for(Description refinement : refinements) { @@ -235,13 +262,20 @@ } @Test - public void rhoDownTestPellet() { + public void rhoDownTestPellet() throws ComponentInitException { Logger.getRootLogger().setLevel(Level.TRACE); - AbstractReasonerComponent rs = TestOntologies.getTestOntology(TestOntology.FATHER); - RhoDRDown rho = new RhoDRDown(); - rho.setReasoner(rs); + AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.FATHER); + reasoner.init(); + + RhoDRDown op = new RhoDRDown(); + op.setReasoner(reasoner); + op.setSubHierarchy(reasoner.getClassHierarchy()); + op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); + op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); + op.init(); + NamedClass nc = new NamedClass("http://example.com/father#male"); - Set<Description> refinements = rho.refine(nc, 5); + Set<Description> refinements = op.refine(nc, 5); for(Description refinement : refinements) { System.out.println(refinement); } @@ -256,7 +290,7 @@ // (male AND EXISTS hasChild.TOP) // System.out.println(rs); // System.out.println("most general properties: " + rs.getMostGeneralProperties()); - System.out.println(rs.getObjectPropertyHierarchy()); + System.out.println(reasoner.getObjectPropertyHierarchy()); assertTrue(refinements.size()==8); } Modified: trunk/components-core/src/test/java/org/dllearner/test/junit/TestOntologies.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/test/junit/TestOntologies.java 2011-12-05 09:15:13 UTC (rev 3470) +++ trunk/components-core/src/test/java/org/dllearner/test/junit/TestOntologies.java 2011-12-05 09:42:14 UTC (rev 3471) @@ -126,13 +126,13 @@ } else if(ont.equals(TestOntology.CARCINOGENESIS)) { owlFile = "../examples/carcinogenesis/carcinogenesis.owl"; } else if(ont.equals(TestOntology.EPC_OE)) { - owlFile = "../examples/epc/sap_epc_oe.owl"; + owlFile = "../test/epc/sap_epc_oe.owl"; } else if(ont.equals(TestOntology.KRK_ZERO_ONE)) { - owlFile = "../examples/krk/KRK_ZERO_ONE.owl"; + owlFile = "../test/krk/KRK_ZERO_ONE.owl"; } else if(ont.equals(TestOntology.DBPEDIA_OWL)) { owlFile = "/home/jl/promotion/ontologien/dbpedia.owl"; } else if(ont.equals(TestOntology.TRAINS_OWL)) { - owlFile = "../examples/cross-benchmark/trains/trains.owl"; + owlFile = "../test/cross-benchmark/trains/trains.owl"; } else if(ont.equals(TestOntology.SWORE)) { owlFile = "../examples/swore/swore.rdf"; } else if(ont.equals(TestOntology.MDM)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |