Initially, the chat client has to register with the chat server by sending it a tuple on the connect channel. It does so by creating a bootstrap rule which forwards connect_tuple into connect. Later, if we ask for the lineage of the tuple in connect, it says its in the connect_tuple collection, but connect_tuple isn't really a collection at all. connect_tuple acts more like a constant in a query than a full-fledged collection. We introduce a new const operator which acts like a constant in a query and doesn't produce lineage.
Consider the following snippet of a chat client:
Initially, the chat client has to register with the chat server by sending it a tuple on the connect channel. It does so by creating a bootstrap rule which forwards
connect_tuple
intoconnect
. Later, if we ask for the lineage of the tuple inconnect
, it says its in theconnect_tuple
collection, butconnect_tuple
isn't really a collection at all.connect_tuple
acts more like a constant in a query than a full-fledged collection. We introduce a newconst
operator which acts like a constant in a query and doesn't produce lineage.