diff --git a/pr10.cql b/pr10.cql index bb4e262d6b40a215124257ed9b5b0a787064e9e9..33aace038270de6b93921a9b4d017c94c0cdbb5f 100644 --- a/pr10.cql +++ b/pr10.cql @@ -1,5 +1,8 @@ .in -B:1 +S:3, +T:3 .out -B; \ No newline at end of file +S x T; +filter (\(r) -> r[1]==r[2] and r[5]==r[6]); +map (\(r) -> r[3,4]); diff --git a/pr8.cql b/pr8.cql index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..909ff3ad5e863029c59b2c84f8d1ce9d95459c5d 100644 --- a/pr8.cql +++ b/pr8.cql @@ -0,0 +1,9 @@ +.in +P:4, +Q:4 + +.out +P x Q; +filter (\(r) -> r[4]==r[8]); +let f = \(p,q) -> if (isEmpty(q)) then p else q; +map (\(r) -> [f(r[1],r[5]), f(r[2], r[6]), f(r[3], r[7]), f(r[4], r[8])]); diff --git a/pr9.cql b/pr9.cql index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..42885d24d171cfd558b0b3ddfd607373e0fbfbcf 100644 --- a/pr9.cql +++ b/pr9.cql @@ -0,0 +1,13 @@ +.in +R:2 + +.out +R x R x R; + +filter ( \(r) -> + r[2] == r[3] + and + r[4] == r[5] + + ); +map (\(r) -> r[1,6]);