title: Why are these type inferences happening in GraphDB?
body: <p>I've the following .ttl File:</p>
  <pre><code>@Prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
  @Prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;.
  @Prefix ex: &lt;http://www.example.com#&gt;
  
  ex:requires rdfs:domain ex:Function.
  ex:requires rdfs:range ex:Information.
  ex:provides rdfs:domain ex:Function.
  ex:provides rdfs:range ex:Function.
  ex:requires rdfs:domain ex:Display.
  ex:DisplaysTo rdfs:domain ex:Display.
  ex:DisplaysTo rdfs:range ex:User.
  
  ex:F1 ex:requires ex:I1.
  ex:F1 ex:provides ex:I2.
  ex:D1 ex:requires ex:I2.
  ex:D1 ex:DisplaysTo ex:U1.
  </code></pre>
  <p>which results in the following inferences once imported into GraphDB using the RDFS (Optimized) ruleset.</p>
  <p>I1 and I2 are Type Information</p>
  <p>U1 is Type User</p>
  <p>D1 is Type Display and Type Function</p>
  <p>F1 is Type Display and Type Function</p>
  <p>The first 2 inferences I wanted, however for the last two inferences I want D1 to be only of Type Display, and F1 to be only of Type Function.</p>
  <p>How do I change my .ttl file for this to be the case?</p>
  <p>EDIT: Newer .ttl file with owl</p>
  <pre><code>@prefix : &lt;http://www.semanticweb.org/alexbett/ontologies/2021/3/untitled-ontology-5#&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/alexbett/ontologies/2021/3/untitled-ontology-5&gt; .
  
  :DisplaysTo rdf:type owl:ObjectProperty ;
              rdfs:domain :Display ;
              rdfs:range :User .
  
  :Provides rdf:type owl:ObjectProperty ;
            rdfs:domain :Function ;
            rdfs:range :Information .
  
  :Requires rdf:type owl:ObjectProperty ;
            rdfs:domain :Display ,
                        :Function ;
            rdfs:range :Information .
  
  :Display rdf:type owl:Class ;
           rdfs:subClassOf [ rdf:type owl:Restriction ;
                             owl:onProperty :DisplaysTo ;
                             owl:minQualifiedCardinality &quot;1&quot;^^xsd:nonNegativeInteger ;
                             owl:onClass :User
                           ] ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :Requires ;
                             owl:minQualifiedCardinality &quot;1&quot;^^xsd:nonNegativeInteger ;
                             owl:onClass :Information
                           ] .
  
  :Function rdf:type owl:Class ;
            rdfs:subClassOf [ rdf:type owl:Restriction ;
                              owl:onProperty :Provides ;
                              owl:minQualifiedCardinality &quot;1&quot;^^xsd:nonNegativeInteger ;
                              owl:onClass :Information
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :Requires ;
                              owl:minQualifiedCardinality &quot;1&quot;^^xsd:nonNegativeInteger ;
                              owl:onClass :Information
                            ] .
  
  :Information rdf:type owl:Class .
  :User rdf:type owl:Class .
  
  :D1 rdf:type owl:NamedIndividual ;
      :DisplaysTo :U1 ;
      :Requires :I2 .
  
  :F1 rdf:type owl:NamedIndividual ;
      :Provides :I2 ;
      :Requires :I1 .
  
  :I1 rdf:type owl:NamedIndividual .
  :I2 rdf:type owl:NamedIndividual .
  :U1 rdf:type owl:NamedIndividual .
  </code></pre>
  <p>EDIT 2:
  Instead of as above it should be:</p>
  <pre><code>:Display rdf:type owl:Class ;
           owl:intersectionOf [ rdf:type owl:Restriction ;
                                owl:onProperty :DisplaysTo ;
                                owl:onClass :User
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :Requires ;
                                owl:onClass :Information
                              ] .
  </code></pre>