# rules for RDFS entailment @prefix rdf: . @prefix rdfs: . @prefix log: . @prefix : . rdfs:Resource a rdfs:Class . rdfs:domain a rdfs:ConstraintResource . rdfs:range a rdfs:ConstraintResource . rdf:type rdfs:domain rdfs:Resource . rdf:type rdfs:range rdfs:Class . rdfs:subClassOf rdfs:domain rdfs:Class . rdfs:subClassOf rdfs:range rdfs:Class . rdfs:subPropertyOf rdfs:domain rdf:Property . rdfs:subPropertyOf rdfs:range rdf:Property . rdfs:domain rdfs:domain rdf:Property . rdfs:domain rdfs:range rdfs:Class . rdfs:range rdfs:domain rdf:Property . rdfs:range rdfs:range rdfs:Class . rdfs:ConstraintProperty rdfs:subClassOf rdf:Property . this log:forAll :s, :p, :o, :a, :b, :c, :C, :D . { :s :p :o } log:implies { :s a rdfs:Resource } . { :RULE1a a rdfs:Resource. :s :p :o } log:implies { :s a rdfs:Resource } . { :RULE1b a rdfs:Resource. :s :p :o } log:implies { :p a rdf:Property } . { :RULE1c a rdfs:Resource. :s :p :o } log:implies { :o a rdfs:Resource } . { :RULE2 a rdfs:Resource. :a rdfs:subPropertyOf :b. :b rdfs:subPropertyOf :c } log:implies { :a rdfs:subPropertyOf :c } . # { :RULE3a a rdfs:Resource. :a rdfs:subPropertyOf :b } log:implies { :a a rdf:Property } . # { :RULE3b a rdfs:Resource. :a rdfs:subPropertyOf :b } log:implies { :b a rdf:Property } . { :RULE4 a rdfs:Resource. :p rdfs:subPropertyOf :b. :s :p :o } log:implies { :s :b :o } . { :RULE5 a rdfs:Resource. :p rdfs:domain :C. :s :p :o } log:implies { :s a :C } . { :RULE6 a rdfs:Resource. :p rdfs:range :C. :s :p :o } log:implies { :o a :C } . # { :RULE7 a rdfs:Resource. :a a :C } log:implies { :C a rdfs:Class } . { :RULE8 a rdfs:Resource. :C a rdfs:Class } log:implies { :C rdfs:subClassOf rdfs:Resource } . # { :RULE9a a rdfs:Resource. :C rdfs:subClassOf :D } log:implies { :C a rdfs:Class } . # { :RULE9b a rdfs:Resource. :C rdfs:subClassOf :D } log:implies { :D a rdfs:Class } . { :RULE10 a rdfs:Resource. :a rdfs:subClassOf :b. :b rdfs:subClassOf :c } log:implies { :a rdfs:subClassOf :c } . { :RULE11 a rdfs:Resource. :C rdfs:subClassOf :D. :a a :C } log:implies { :a a :D } . { :RULE12 a rdfs:Resource. :a a rdfs:ConstraintResource, rdf:Property } log:implies { :a a rdfs:ConstraintProperty } .