There’s good news and bad news: the good news is you can work all this out formally. The bad news is, the semantics of algebraic databases are exactly that: entire databases.
It is possible to define a situation where a single row change to an input CQL database results in an unbounded, or infinite, number of row change to an output database. To operate, CQL’s delta and pi need “all the data” in the same sense an SQL join does. And indeed, we have worked out the “drift” that occurs when you try to simulate a pi on an entire database using a Pi on a sub-database and an differential database, in much the same way joins on stream data have a quantifiable drift depending on their window size. But we can still compose: Pi_F(Pi_G(I)) = Pi(GoF)(I) etc, which might be an alternative depending on what you’re doing.
My primary thought is that, following tradition, to really handle streams, especially infinite ones, a person would want co-algebraic databases. And in fact, David Spivak has a starting point for this line of work: in the category “Poly" comonoids are exactly categories, where you think of them as an infinite tree stream of morphisms.
> --
> You received this message because you are subscribed to the Google Groups "Categorical Data" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
categoricalda...@googlegroups.com.
> To view this discussion visit
https://groups.google.com/d/msgid/categoricaldata/810558cb-2464-4e68-99a5-5a9cd97954dbn%40googlegroups.com.