- From: Hendrik Marx <marx.hendrik@googlemail.com>
- Date: Fri, 30 Mar 2012 15:36:54 +0200
- To: public-rif-comments@w3.org
Hello,
I have a few questions concerning
http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/#Appendix:_OWL_2_RL_to_RIF_translation.
In the table with the Translation of the OWL Pattern into RIF some of
the rules appear to be incorrect or presented in a way I don't
understand:
The Rule #prp-adp with the Pattern (?l rdf:type
owl:AllDisjointProperties) is translated to:
for(?x in ?l) {
 for(?y in ?l, != ?x) {
   {$
 Forall ?p1 ?p2 (
   rif:error() :- And (
       ?x[?p1->?y ?p2->?y]) )
   $}
 }
}
should that not rather be:
for(?x in ?l) {
 for(?y in ?l, != ?x) {
   {$
 Forall ?o ?v (                   (*changed*)
   rif:error() :- And (
       ?o[?x->?v ?y->?v]) )     (*changed*)
   $}
 }
}
this would in my understanding correspond to this:
T(?x, rdf:type, owl:AllDisjointProperties)
T(?x, owl:members, ?y)
LIST[?y, ?p1, ..., ?pn]
T(?u, ?pi, ?v)
T(?u, ?pj, ?v)
from here: http://www.w3.org/TR/owl2-profiles/#Axioms_3 , Table 5., row: prp-adp
and to the rule:
 (* <#prp-adp> *)
 Forall ?x ?y ?o ?v ?l ?ix ?iy ?r (
   rif:error() :- And (
       ?r[rdf:type -> owl:AllDisjointProperties]
       ?r[owl:members -> ?l]
       External(pred:list-contains(?l ?x))   ?ix =
External(func:index-of(?l ?x))
       External(pred:list-contains(?l ?y))   ?iy =
External(func:index-of(?l ?y))
       External( pred:numeric-not-equal ( ?ix ?iy ) )
       ?o[?x->?v ?y->?v]) )
from here: http://www.w3.org/TR/2010/NOTE-rif-owl-rl-20100622/#Appendix:_OWL_2_RL_ruleset_-_presentation_syntax.
Pretty much the same issue in #cax-adc:
should
for(?x in ?l) {
 for(?y in ?l, != ?x) {
   {$
 Forall ?c1 ?c2 (
   rif:error() :- And (
       ?x[rdf:type->?c1 rdf:type->?c2]) )
    $}
 }
}
not rather be:
for(?x in ?l) {
 for(?y in ?l, != ?x) {
   {$
 Forall ?something (
   rif:error() :- And (
       ?something[rdf:type->?x rdf:type->?y]) )
    $}
 }
}
in correspondence to:
T(?x, rdf:type, owl:AllDisjointClasses)
T(?x, owl:members, ?y)
LIST[?y, ?c1, ..., ?cn]
T(?z, rdf:type, ?ci)
T(?z, rdf:type, ?cj)
from here: http://www.w3.org/TR/owl2-profiles/#Axioms_3 , Table 7., row: cax-adc
?
Received on Sunday, 1 April 2012 12:23:34 UTC