title: Inferring Inverse Property in Protege
body: <p>I have created the relationship <code>A 'is functional parent of' B</code> and defined <code>'has functional parent'</code> as the inverse of <code>'is functional parent of'</code>. <code>'A'</code> and <code>'B'</code> are both subclasses of <code>'chemical entity'</code>.</p>
  <p>I want Protege to infer <code>B 'has functional parent' A</code>. The query <code>'has functional parent' some A</code> fails.</p>
  <h3>Error #1: Not understanding open world</h3>
  <p>I realized that <code>some</code> implies that not all <code>B</code> have the relationship <code>'has functional parent'</code> with <code>'A'</code>. <strong>However, the query <code>'chemical entity' and 'has functional parent'</code> still fails.</strong></p>
  <p>My ontology has no instances. I was hoping the query wound find subclasses.</p>
  <h3>Turtle File</h3>
  <pre><code>@prefix : &lt;http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10#&gt; .
  @prefix owl: &lt;http://www.w3.org/2002/07/owl#&gt; .
  @prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
  @prefix xml: &lt;http://www.w3.org/XML/1998/namespace&gt; .
  @prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
  @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; .
  @base &lt;http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10&gt; .
  
  &lt;http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10&gt; rdf:type owl:Ontology .
  
  #################################################################
  #    Object Properties
  #################################################################
  
  ###  http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10#hasFunctionalParent
  :hasFunctionalParent rdf:type owl:ObjectProperty ;
                       owl:inverseOf :isFunctionalParentOf .
  
  
  ###  http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10#isFunctionalParentOf
  :isFunctionalParentOf rdf:type owl:ObjectProperty .
  
  
  #################################################################
  #    Classes
  #################################################################
  
  ###  http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10#A
  :A rdf:type owl:Class ;
     rdfs:subClassOf :Z ,
                     [ rdf:type owl:Restriction ;
                       owl:onProperty :isFunctionalParentOf ;
                       owl:someValuesFrom :B
                     ] .
  
  
  ###  http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10#B
  :B rdf:type owl:Class ;
     rdfs:subClassOf :Z .
  
  
  ###  http://www.semanticweb.org/michaelchary/ontologies/2020/8/untitled-ontology-10#Z
  :Z rdf:type owl:Class .
  
  
  ###  Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi
  </code></pre>