-
Notifications
You must be signed in to change notification settings - Fork 2
Description
The "Evaluation of Sequence Property Path" is defined using the following two formulas.
A = Join( eval(Path(X, P, V)), eval(Path(V, Q, Y)) )
eval(Path(X, seq(P,Q), Y)) = Project(A, Var(X,Y))
Notice that the Join operator, as mentioned in the first formula, produces a multiset of solution mappings (i.e., A would be such a multiset), whereas the Project operator, mentioned in the second formula, expects a sequence of solution mappings as its first argument. Hence, A is not a valid argument for Project in the second formula.
A second, similar inconsistency is that the Project operator produces a sequence of solution mappings, but the left-hand side of the second formula should be equal to a multiset of solution mappings (see the relevant "Notation" box).
These inconsistencies can be removed by changing the second formula as follows.
eval(Path(X, seq(P,Q), Y)) = ToMultiSet( Project(ToList(A), Var(X,Y)) )