FORALL Message,Resource,Predicate,Correct <- problem(Message,Resource,Predicate,Correct). FORALL Predicate,Correct,Resource problem("Domain constraint violation", Resource, Predicate, Correct) <- domainSet(Resource,Predicate,Correct), not domainOK(Predicate). FORALL Predicate,Correct,Resource problem("Range constraint violation", Resource, Predicate, Correct) <- rangeSet(Resource,Predicate,Correct), not rangeOK(Predicate). FORALL Predicate domainOK(Predicate) <- EXISTS Resource,Domain,Class,Value Predicate["http://www.w3.org/TR/1999/PR-rdf-schema-19990303#domain" ->> Domain], Resource["http://www.w3.org/1999/02/22-rdf-syntax-ns#type" ->> Class; Predicate->>Value], Class :: Domain. FORALL Resource,Predicate,Class domainSet(Resource,Predicate,Class) <- EXISTS Value Resource[Predicate->>Value], Predicate["http://www.w3.org/TR/1999/PR-rdf-schema-19990303#domain" ->> Class]. FORALL Predicate rangeOK(Predicate) <- EXISTS Resource,Range,Class,Value Predicate["http://www.w3.org/TR/1999/PR-rdf-schema-19990303#range" ->> Range], Resource[Predicate->>Value], Value["http://www.w3.org/1999/02/22-rdf-syntax-ns#type" ->> Class], Class :: Range. FORALL Resource,Predicate,Class rangeSet(Resource,Predicate,Class) <- EXISTS Value Resource[Predicate->>Value], Predicate["http://www.w3.org/TR/1999/PR-rdf-schema-19990303#range" ->> Class]. FORALL Object problem ("User-defined constraint not validated", Object, "-", "-") <- Object["http://www.w3.org/1999/02/22-rdf-syntax-ns#type" ->> "http://www.w3.org/TR/1999/PR-rdf-schema-19990303#ConstraintProperty"]. FORALL Object problem ("User-defined constraint not validated", Object, "-", "-") <- Object["http://www.w3.org/TR/1999/PR-rdf-schema-19990303#subClassOf" ->> "http://www.w3.org/TR/1999/PR-rdf-schema-19990303#ConstraintProperty"]. FORALL X,Y X :: Y <- X["http://www.w3.org/TR/1999/PR-rdf-schema-19990303#subClassOf" ->> Y] OR unify (X,Y). FORALL X,Y X : Y <- X["http://www.w3.org/1999/02/22-rdf-syntax-ns#type" ->> Y] OR unify (X,Y).