Re: OWL 2 RL in RIF (Second Edition) 4.3.2 Property chain rule

On 30/08/17 23:44, Reinhard Schrage wrote:
>
> Hello,
>
> Below RIF Core rule set reads:
>
> *4.3.2 Property chain rule *
>
> (* <#prp-spo2> *)
>
> Forall ?p ?last ?pc ?start (
>
>  ?start[?p->?last] :- And (
>
>  ?p[owl:propertyChainAxiom->?pc]
>
> _checkChain(?start ?pc ?last) ))
>
> Forall ?start ?pc ?last ?p ?tl (
>
> _checkChain(?start ?pc  ?last) :- And (
>
>      ?pc[rdf:first->?p rdf:rest->?tl]
>
>  ?start[?p->?next]
>
> _checkChain(?next ?tl ?last) ))
>
> Forall ?start ?pc ?last ?p (
>
> _checkChain(?start ?pc  ?last) :- And (
>
>  ?pc[rdf:first->?p rdf:rest->rdf:nil]
>
>  ?start[?p->?last] ))
>
> Variable ?next is free in second universal rule, yet does not appear 
> in Forall quantification part.
>
> Am I missing something here, or shouldn’t it read e.g.:
>
>   Forall ?next ?start ?pc ?last ?p ?tl (
>
> _checkChain(?start ?pc  ?last) :- And (
>
>      ?pc[rdf:first->?p rdf:rest->?tl]
>
>  ?start[?p->?next]
>
> _checkChain(?next ?tl ?last) ))
>

Agreed, looks like a bug.

Dave

Received on Thursday, 31 August 2017 21:10:32 UTC