OWL Primer 'families' Ontology Cannot be Reasoned With FaCT++

Issue #30 invalid
Dmitry Tsarkov repo owner created an issue

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 &quot;loading Anonymous-1 from file:/C:/Users/steve/families/families.owl&quot; 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 &quot;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.&lt;init&gt;(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)

  1. Dmitry Tsarkov reporter

    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.

  2. Log in to comment