Path(x, z) :- Path(x, y), Edge(y, z).
i.e. an implication from right to left. This structure matches: query p select (x, z) from Path(x, y), Edge(y, z).
So the trilemma is:A. Keep the logic rules and `query` construct consistent (i.e. read from right-to-left).
B. Reverse the logic rules and query construct-- thus breaking with decades of tradition established by Datalog and Prolog.
C. Keep the logic rules from right-to-left, but reverse the order of `query` making it from left-to-right.
We decided on (A), but maybe we should revisit at some point.