nasrosoft / factplusplus

Automatically exported from code.google.com/p/factplusplus
0 stars 0 forks source link

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

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
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)

What is the expected output? What do you see instead?
Reasoner completes successfully.

What version of the product are you using? On what operating system?

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...

Please provide any additional information below.

Original issue reported on code.google.com by stephens...@gmail.com on 17 Apr 2011 at 4:08

Attachments:

GoogleCodeExporter commented 8 years ago
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.

Original comment by dmitry.t...@gmail.com on 18 Apr 2011 at 11:31