From: <Jen...@us...> - 2008-06-26 10:44:41
|
Revision: 983 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=983&view=rev Author: JensLehmann Date: 2008-06-26 03:44:36 -0700 (Thu, 26 Jun 2008) Log Message: ----------- - ComponentInitException thrown when loading inconsistent ontologies into OWL API reasoner - OWL API bug test file Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java trunk/src/dl-learner/org/dllearner/test/OWLAPIBugDemo.java trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/utilities/owl/OntologyCloser.java trunk/src/php-examples/LearningSimple.php Added Paths: ----------- trunk/src/dl-learner/org/dllearner/test/OWLAPIConsistency.java Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-06-26 06:52:48 UTC (rev 982) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-06-26 10:44:36 UTC (rev 983) @@ -36,6 +36,7 @@ import org.apache.log4j.Level; import org.apache.log4j.Logger; +import org.dllearner.core.ComponentInitException; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.ReasonerComponent; import org.dllearner.core.config.ConfigEntry; @@ -162,7 +163,7 @@ } @Override - public void init() { + public void init() throws ComponentInitException { OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); // it is a bit cumbersome to obtain all classes, because there @@ -294,10 +295,19 @@ // compute class hierarchy and types of individuals // (done here to speed up later reasoner calls) + boolean inconsistentOntology = false; try { reasoner.loadOntologies(allImports); - reasoner.classify(); - reasoner.realise(); + for(OWLOntology ont : owlAPIOntologies) { + if(!reasoner.isConsistent(ont)) { + inconsistentOntology = true; + throw new ComponentInitException("Inconsistent ontologies."); + } + } + if(!inconsistentOntology) { + reasoner.classify(); + reasoner.realise(); + } } catch (OWLReasonerException e) { e.printStackTrace(); } Modified: trunk/src/dl-learner/org/dllearner/test/OWLAPIBugDemo.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/OWLAPIBugDemo.java 2008-06-26 06:52:48 UTC (rev 982) +++ trunk/src/dl-learner/org/dllearner/test/OWLAPIBugDemo.java 2008-06-26 10:44:36 UTC (rev 983) @@ -17,7 +17,9 @@ OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); URI ontologyURI = URI.create("http://www.examples.com/test"); - File f = new File("test.owl"); +// File f = new File("test.owl"); + + File f = new File("src/dl-learner/org/dllearner/tools/ore/inconsistent.owl"); URI physicalURI = f.toURI(); SimpleURIMapper mapper = new SimpleURIMapper(ontologyURI, physicalURI); manager.addURIMapper(mapper); Added: trunk/src/dl-learner/org/dllearner/test/OWLAPIConsistency.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/OWLAPIConsistency.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/test/OWLAPIConsistency.java 2008-06-26 10:44:36 UTC (rev 983) @@ -0,0 +1,45 @@ +package org.dllearner.test; + +import org.semanticweb.owl.apibinding.OWLManager; +import org.semanticweb.owl.inference.OWLReasoner; +import org.semanticweb.owl.inference.OWLReasonerException; +import org.semanticweb.owl.model.*; + +import java.io.File; +import java.net.URI; +import java.util.Set; + +public class OWLAPIConsistency { + public static void main(String[] args) { + + try { + File f = new File("src/dl-learner/org/dllearner/tools/ore/inconsistent.owl"); + URI physicalURI = f.toURI(); + + OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); + + OWLOntology ont = manager.loadOntologyFromPhysicalURI(physicalURI); + System.out.println("Loaded " + ont.getURI()); + + OWLReasoner reasoner = new org.mindswap.pellet.owlapi.Reasoner(manager); + + Set<OWLOntology> importsClosure = manager.getImportsClosure(ont); + reasoner.loadOntologies(importsClosure); +// reasoner.classify(); + + boolean consistent = reasoner.isConsistent(ont); + System.out.println("Consistent: " + consistent); + System.out.println("\n"); + + } + catch(UnsupportedOperationException exception) { + System.out.println("Unsupported reasoner operation."); + } + catch(OWLReasonerException ex) { + System.out.println("Reasoner error: " + ex.getMessage()); + } + catch (OWLOntologyCreationException e) { + System.out.println("Could not load the pizza ontology: " + e.getMessage()); + } + } +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java 2008-06-26 06:52:48 UTC (rev 982) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ORE.java 2008-06-26 10:44:36 UTC (rev 983) @@ -94,9 +94,14 @@ } - rs = cm.reasoningService(reasoner); +// rs = cm.reasoningService(reasoner); reasoner2 = cm.reasoner(OWLAPIReasoner.class, ks); - reasoner2.init(); + try { + reasoner2.init(); + } catch (ComponentInitException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } modi = new OntologyModifierOWLAPI(reasoner2); } @@ -475,12 +480,12 @@ final ORE test = new ORE(); - File owlFile = new File("src/dl-learner/org/dllearner/tools/ore/inkohaerent.owl"); + File owlFile = new File("src/dl-learner/org/dllearner/tools/ore/inconsistent.owl"); test.setKnowledgeSource(owlFile); test.detectReasoner(); - System.out.println(test.reasoner2.getInconsistentClasses()); +// System.out.println(test.reasoner2.getInconsistentClasses()); // System.err.println("Concepts :" + rs.getAtomicConcepts()); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-26 06:52:48 UTC (rev 982) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-26 10:44:36 UTC (rev 983) @@ -286,7 +286,12 @@ public void setReasoner() { this.reasoner =cm.reasoner(OWLAPIReasoner.class,source); - reasoner.init(); + try { + reasoner.init(); + } catch (ComponentInitException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } rs = cm.reasoningService(reasoner); } Modified: trunk/src/dl-learner/org/dllearner/utilities/owl/OntologyCloser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/owl/OntologyCloser.java 2008-06-26 06:52:48 UTC (rev 982) +++ trunk/src/dl-learner/org/dllearner/utilities/owl/OntologyCloser.java 2008-06-26 10:44:36 UTC (rev 983) @@ -8,6 +8,7 @@ import java.util.SortedSet; import java.util.TreeSet; +import org.dllearner.core.ComponentInitException; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.ReasoningService; import org.dllearner.core.owl.ClassAssertionAxiom; @@ -47,7 +48,12 @@ Set<KnowledgeSource> ks = new HashSet<KnowledgeSource>(); ks.add(this.kbFile); OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); - owlapi.init(); + try { + owlapi.init(); + } catch (ComponentInitException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } this.indToRestr = new HashMap<Individual, Set<ObjectExactCardinalityRestriction>>(); this.classes = new HashSet<Description>(); this.rs = new ReasoningService(owlapi); @@ -64,7 +70,12 @@ sc.printAndSet("updating reasoner"); OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); sc.printAndSet("init"); - owlapi.init(); + try { + owlapi.init(); + } catch (ComponentInitException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } sc.printAndSet(); this.rs = new ReasoningService(owlapi); Modified: trunk/src/php-examples/LearningSimple.php =================================================================== --- trunk/src/php-examples/LearningSimple.php 2008-06-26 06:52:48 UTC (rev 982) +++ trunk/src/php-examples/LearningSimple.php 2008-06-26 10:44:36 UTC (rev 983) @@ -62,7 +62,7 @@ // learn concept echo 'start learning ... '; -$concept = $client->learn($id); +$concept = $client->learn($id, "manchester"); echo 'OK <br />'; echo 'solution: ' . $concept; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |