# Backward recursion coverage
# Demonstrates recursive <= rules compiled into specialized JavaScript.

@prefix : <urn:example#>.
:a :parent :b.
:b :parent :c.

{ ?x :ancestor ?y } <= { ?x :parent ?y }.
{ ?x :ancestor ?z } <= { ?x :parent ?y. ?y :ancestor ?z }.

{ :a :ancestor ?who } => { :a :reaches ?who }.
{ :a :reaches ?who } log:query { :a :reaches ?who }.
