steve@0: @prefix sia: . steve@0: steve@0: [allID: steve@0: (?C rdf:type owl:Restriction), (?C owl:onProperty ?P), steve@0: (?C owl:allValuesFrom ?D) steve@0: -> steve@0: (?C owl:equivalentClass all(?P, ?D)) steve@0: ] steve@0: steve@0: [all2: (?C rdfs:subClassOf all(?P, ?D)) -> print('Rule for ', ?C) steve@0: [all1b: (?Y rdf:type ?D) <- (?X ?P ?Y), (?X rdf:type ?C) ] ] steve@0: steve@0: [all3: steve@0: (?S owl:owl:equivalentClass all(?P, ?D)) steve@0: makeTemp(?blankNode) steve@0: -> steve@0: (?P rdf:type sia:MyP), steve@0: (?D rdf:type sia:MyD) steve@0: ]