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

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) ))

 

 

 

Best regards

Reinhard Schrage

t:     +49 (0) 5137 909530

m:   +49 (0) 172  26.36.046

reinhard@schrageconsult.com <mailto:reinhard@schrageconsult.com> 

 

*Please consider the environment before printing this email

 

Received on Thursday, 31 August 2017 08:29:46 UTC