OWL Primer 'families' Ontology Cannot be Reasoned With FaCT++
Original [issue 30](https://code.google.com/p/factplusplus/issues/detail?id=30) created by dtsarkov on 2011-04-17T16:08:59.000Z:
<b>What steps will reproduce the problem?</b> 1. Read OWL 2 Primer, http://www.w3.org/TR/owl2-primer/ 2. From primer, copy functional-style syntax of complete sample 'families' ontology to local machine. A copy of this file is attached. Note that the following occurs regardless of which syntax is used from the primer. 3. Launch Protégé with Fact++ 1.5.2 on Windows Server 2008 R2. 4. Load local families ontology. 5. Protégé will pause with the message "loading Anonymous-1 from file:/C:/Users/steve/families/families.owl" while it tries to resolve unresolvable URIs. 6. Eventually Protege returns with a slew of errors beginning with: Exception caught trying to get ontology id for http://example.org/otherOntologies/families.owl org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing http://example.org/otherOntologies/families.owl Could not parse ontology. Either a suitable parser could not be found, or parsing failed. See parser logs below for explanation. The following parsers were tried: 1) RDFXMLParser 2) OWLXMLParser 3) OWLFunctionalSyntaxOWLParser 4) TurtleOntologyParser 5) OWLOBOParser 6) KRSS2OWLParser 7) ManchesterOWLSyntaxOntologyParser
7. A small dialog presents itself asking if I want to resolve missing imports. I select no.
8. Protege finishes loading apparently correctly.
9. Start FaCT++
10. Error dialog presents with the a 'Reasoner Error' title and the message "ReasonerInternalException: FaCT++ Kernel: unsupported operation 'getObjectPropertyKey' and cmd window presents the following message:
org.semanticweb.owlapi.reasoner.ReasonerInternalException: FaCT++ Kernel: unsupported operation 'getObjectPropertyKey' at uk.ac.manchester.cs.factplusplus.FaCTPlusPlus.getObjectPropertyKey(Native Method) at uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasoner$AxiomTranslator.visit(Unknown Source) at uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasoner$AxiomTranslator.visit(Unknown Source) at uk.ac.manchester.cs.owl.owlapi.OWLHasKeyAxiomImpl.accept(OWLHasKeyAxiomImpl.java:109) at uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasoner.loadAxiom(Unknown Source) at uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasoner.loadReasonerAxioms(Unknown Source) at uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasoner.<init>(Unknown Source) at uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasonerFactory.createReasoner(Unknown Source) at org.protege.editor.owl.model.inference.ReasonerUtilities.createReasoner(ReasonerUtilities.java:20) at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:308) at java.lang.Thread.run(Unknown Source)
11. If OK is selected then Reasoner progress dialog presents that never stops loading.
Incidentally, the Hermit Reasoner fails on this ontology with the error;
Error 1 Logged at Sun Apr 17 12:05:13 EDT 2011 InconsistentOntologyException: Inconsistent ontology org.semanticweb.HermiT.Reasoner.throwInconsistentOntologyExceptionIfNecessary(Unknown Source) org.semanticweb.HermiT.Reasoner.checkPreConditions(Unknown Source) org.semanticweb.HermiT.Reasoner.precomputeInferences(Unknown Source) org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:319) java.lang.Thread.run(Unknown Source)
<b>What is the expected output? What do you see instead?</b> Reasoner completes successfully.
<b>What version of the product are you using? On what operating system?</b>
Starting Protege 4 OWL Editor (Version 4.1.0, Build = 220) Platform: Java: JVM 1.5.0_11-b03 Memory: 520M Language: en, Country: US Framework: Apache Software Foundation (1.5) OS: windowsvista (6.1) Processor: x86 Installed plugin Dlquery Installed plugin Owlviz Plug-in Installed plugin The Protege 4 OWL Editor Installed plugin OntoGraf Plug-in Installed plugin HermiT Reasoner Installed plugin The OWL API Installed plugin Factplusplus Plug-in Using OWL API version 3.2.2.1789 Rebuilding entity indices...
<b>Please provide any additional information below.</b>
Comments (1)
-
reporter - Log in to comment
Comment [
#1](https://code.google.com/p/factplusplus/issues/detail?id=30#c1) originally posted by dtsarkov on 2011-04-18T11:31:22.000Z:The problem is twofold.
1) This ontology has some features, that are not supported by FaCT++. These are user-defined datatypes and keys.
2) After removing these constructions FaCT++ as well as HermiT states that the ontology is inconsistent. One reason of inconsistency is the following set of axioms:
ClassAssertion( :Father :John ) ClassAssertion( ObjectIntersectionOf( :Person ObjectComplementOf( :Parent ) ) :Jack) SubClassOf( :Father ObjectIntersectionOf( :Man :Parent ) ) SameIndividual( :John :Jack )
Here John is Father (thus Parent), Jack is not a Parent, and Jack is the same person as John. This lead to inconistency of the ontology.