Right-Adjoints for Datalog Programs, and Homomorphism Dualities over Restricted Classes
A Datalog program can be viewed as a syntactic specification of a functor from database instances over some schema to database instances over another schema. The same holds more generally for ∃Datalog. We establish large classes of Datalog and ∃Datalog programs for which the corresponding functor admits a generalized right-adjoint. We employ these results to obtain new insights into the existence of, and methods for constructing, homomorphism dualities within restricted classes of instances. We also derive new results regarding the existence of uniquely characterizing data examples for database queries.
READ FULL TEXT