16. Deficiency in Model Suspects = π person (Saw ⋈ Drives) ? ? ? Does not correctly capture possible instances in the result CANNOT (Cathy, Honda) ∥ (Cathy, Mazda) Saw (witness,car) (Billy, Honda) ∥ (Frank, Honda) (Hank, Honda) (Jimmy, Toyota) ∥ (Jimmy, Mazda) Drives (person,car) Jimmy Billy ∥ Frank Hank Suspects
17.
18. Example with Lineage ? ? ? Suspects = π person (Saw ⋈ Drives) λ (31) = (11,2),(21,2) λ (32,1) = (11,1),(22,1); λ (32,2) = (11,1),(22,2) λ (33) = (11,1), 23 11 ID (Cathy, Honda) ∥ (Cathy, Mazda) Saw (witness,car) 23 22 21 ID (Billy, Honda) ∥ (Frank, Honda) (Hank, Honda) (Jimmy, Toyota) ∥ (Jimmy, Mazda) Drives (person,car) 33 32 31 ID Jimmy Billy ∥ Frank Hank Suspects Correctly captures possible instances in the result
19.
20.
21. Initial TriQL Example SELECT Drives.person INTO Suspects FROM Saw, Drives WHERE Saw.car = Drives.car ? ? ? λ (31) = (11,2),(21,2) λ (32,1)=(11,1),(22,1); λ (32,2)=(11,1),(22,2) λ (33) = (11,1), 23 11 ID (Cathy, Honda) ∥ (Cathy, Mazda) Saw (witness,car) 23 22 21 ID (Billy, Honda) ∥ (Frank, Honda) (Hank, Honda) (Jimmy, Toyota) ∥ (Jimmy, Mazda) Drives (person,car) 33 32 31 ID Jimmy Billy ∥ Frank Hank Suspects
22.
23.
24.
25.
26.
27. Operational Semantics: Example SELECT Drives.person FROM Saw, Drives WHERE Saw.car = Drives.car (Cathy, Honda) ∥ (Cathy, Mazda) Saw (witness,car) (Hank, Honda) (Jim, Mazda) ∥ (Bill, Mazda) Drives (person,car)