W3C home > Mailing lists > Public > public-rif-comments@w3.org > April 2012

Re: Questions concerning the OWL 2 RL in RIF Document

From: Dave Reynolds <dave.e.reynolds@gmail.com>
Date: Tue, 10 Apr 2012 10:50:42 +0100
Message-ID: <4F840272.9010708@gmail.com>
To: Hendrik Marx <marx.hendrik@googlemail.com>
CC: public-rif-comments@w3.org
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

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:49:20 UTC