Forall ?p ?o ?s ( ?s[owl:sameAs->?s] :- ?s[?p->?o] ) Forall ?p ?o ?s ( ?p[owl:sameAs->?p] :- ?s[?p->?o] ) Forall ?p ?o ?s ( ?o[owl:sameAs->?o] :- ?s[?p->?o] ) Forall ?x ?y ( ?y[owl:sameAs->?x] :- ?x[owl:sameAs->?y] ) Forall ?x ?z ?y ( ?x[owl:sameAs->?z] :- And( ?x[owl:sameAs->?y] ?y[owl:sameAs->?z] )) Forall ?p ?o ?s ?sp ( ?sp[?p->?o] :- And( ?s[owl:sameAs->?sp] ?s[?p->?o] )) Forall ?p ?o ?pp ?s ( ?s[?pp->?o] :- And( ?p[owl:sameAs->?pp] ?s[?p->?o] )) Forall ?p ?o ?s ?op ( ?s[?p->?op] :- And( ?o[owl:sameAs->?op] ?s[?p->?o] )) Forall ?x ?y ( rif:error("inconsistent") :- And( ?x[owl:sameAs->?y] ?x[owl:differentFrom->?y] )) Forall ?p ?c ?x ?y ( ?x[rdf:type->?c] :- And( ?p[rdfs:domain->?c] ?x[?p->?y] )) Forall ?p ?c ?x ?y ( ?y[rdf:type->?c] :- And( ?p[rdfs:range->?c] ?x[?p->?y] )) Forall ?x ?c1 ?c2 ( ?x[rdf:type->?c2] :- And( ?c1[rdfs:subClassOf->?c2] ?x[rdf:type->?c1] )) Forall ?x ?c1 ?c2 ( ?x[rdf:type->?c2] :- And( ?c1[owl:equivalentClass->?c2] ?x[rdf:type->?c1] )) Forall ?x ?c1 ?c2 ( ?x[rdf:type->?c1] :- And( ?c1[owl:equivalentClass->?c2] ?x[rdf:type->?c2] )) Forall ?c ( ?c[rdfs:subClassOf->?c] :- ?c[rdf:type->owl:Class] ) Forall ?c ( ?c[owl:equivalentClass->?c] :- ?c[rdf:type->owl:Class] ) Forall ?c1 ?c2 ?c3 ( ?c1[rdfs:subClassOf->?c3] :- And( ?c1[rdfs:subClassOf->?c2] ?c2[rdfs:subClassOf->?c3] )) Forall ?c1 ?c2 ( ?c1[rdfs:subClassOf->?c2] :- ?c1[owl:equivalentClass->?c2] ) Forall ?c1 ?c2 ( ?c2[rdfs:subClassOf->?c1] :- ?c1[owl:equivalentClass->?c2] ) Forall ?p ( ?p[rdfs:subPropertyOf->?p] :- ?p[rdf:type->owl:ObjectProperty] ) Forall ?p ( ?p[owl:equivalentProperty->?p] :- ?p[rdf:type->owl:ObjectProperty] ) Forall ?p ( ?p[rdfs:subPropertyOf->?p] :- ?p[rdf:type->owl:DatatypeProperty] ) Forall ?p ( ?p[owl:equivalentProperty->?p] :- ?p[rdf:type->owl:DatatypeProperty] ) Forall ?p3 ?p2 ?p1 ( ?p1[rdfs:subPropertyOf->?p3] :- And( ?p1[rdfs:subPropertyOf->?p2] ?p2[rdfs:subPropertyOf->?p3] )) Forall ?p2 ?p1 ( ?p1[rdfs:subPropertyOf->?p2] :- ?p1[owl:equivalentProperty->?p2] ) Forall ?p2 ?p1 ( ?p2[rdfs:subPropertyOf->?p1] :- ?p1[owl:equivalentProperty->?p2] ) Forall ?p ?c1 ?c2 ( ?p[rdfs:domain->?c2] :- And( ?p[rdfs:domain->?c1] ?c1[rdfs:subClassOf->?c2] )) Forall ?c ?p2 ?p1 ( ?p1[rdfs:domain->?c] :- And( ?p2[rdfs:domain->?c] ?p1[rdfs:subPropertyOf->?p2] )) Forall ?p ?c1 ?c2 ( ?p[rdfs:range->?c2] :- And( ?p[rdfs:range->?c1] ?c1[rdfs:subClassOf->?c2] )) Forall ?c ?p2 ?p1 ( ?p1[rdfs:range->?c] :- And( ?p2[rdfs:range->?c] ?p1[rdfs:subPropertyOf->?p2] ))