Re: Questions concerning the OWL 2 RL in RIF Document

Hi Hendirk,

I agree. Those are both errors.

There were originally errors in the non-template versions of those two 
rules which got corrected before publication but it looks like I failed 
to replicate the corrections to the template versions.

Thanks for spotting them.

I have fixed those two errors in the internal (Wiki) version of the 
texts.  I'm not sure what the process is for issuing errata versions of 
Working Group Notes for closed working groups. Sandro?

Dave

On 30/03/12 14:36, Hendrik Marx wrote:
> 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 Tuesday, 10 April 2012 09:51:18 UTC